Generally speaking (python) Script is location-sensitive. This is related to always using absolute paths in a script, but not quite the same. Your cron job may need to cd to a specific directory where the script is stored before running it.
When Cronjob runs it uses your home directory as current directory. So if you were to put your script in your home directory, it will work. In this case the script was using a relative path, assuming that it was relative to the location of the script but it was in fact relative to the root of your home directory because that was the working directory that cron was using, which is why the script worked when it was in the root of my home directory.
So if you have to run it in a directory other than your home directory, in your cronjob you will need to cd to your script directory and run it as in this example:
* * * * * cd /var/www/clientfolder/ && /usr/bin/python /var/www/clientfolder/your_python_script.py >> /var/www/clientfolder/your_python_script.log
it is important you understand why. It should now work!
If you have other issue not related to Script Execute Environment you may want to read this very good article CronJob not running
Source: https://www.digitalocean.com/community/questions/unable-to-execute-a-python-script-via-crontab-but-can-execute-it-manually-what-gives
Best of luck