script_kiddie
script_kiddie

Reputation: 1187

correct way of Setting pythonpath

#!/usr/bin/python

import os
import sys

sys.path.append('/usr/bin/python')    
vs
os.environ['PYTHONPATH'] = '/usr/bin/python'

I am running a script as a cron job and want to set PYTHONPATH environ variable to '/usr/bin/python' for the script to be run. What is the correct way of of the two mentioned in the snippet above?

Upvotes: 1

Views: 1946

Answers (1)

AChampion
AChampion

Reputation: 30258

Updating sys.path.append() will change the paths that the current script searches for modules/packages. Updating os.environ[] will only affect subprocesses, if you pass them the environment. These only affect the directories that are searched for modules/packages, as /usr/bin/python is usually the python executable neither would have any effect.

If you are trying to specify a version of python to use to execute the script then use a shebang at the top of the script:

#!/usr/bin/python

Make sure the script is set executable chmod +x script and then execute it directly via cron.

Upvotes: 1

Related Questions