我试图在不允许我设置环境变量的系统上运行python。是否有一个命令行标志python将设置PYTHONHOME?我看了一眼:http://docs.python.org/release/2.3.5/inst/search-path.html但没有看到任何东西。
所以,希望这样的事情:
python -magical_path_flag /my/python/install test.py
修改
感谢大家的回复。我很尴尬地说我实际上意味着PYTHONHOME,而不是PYTHONPATH。 (这是我在凌晨1:30提出问题所应得的。)我编辑了我的问题。
这里有更多信息。我正试图在Android上运行python。我可以运行python -V没问题,但如果我尝试执行一个脚本,我会得到:
I/ControlActivity(18340): Could not find platform independent libraries <prefix>
I/ControlActivity(18340): Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
不幸的是,当使用ProcessBuilder并更改Android上的环境变量时,它表示它们不可修改并抛出异常。我能够传递我想要的所有命令行标志,所以我希望我可以这样设置PYTHONHOME。
我已经尝试创建一个包装shell脚本,它导出PYTHONHOME,然后调用python,但是没有用。 (得到了和以前一样的错误。)
谢谢,
加布
答案 0 :(得分:5)
您只需在脚本中设置它即可 - sys.path
是一个可定制的可修改列表。类似的东西:
import sys
sys.path.append("/path/to/libraries")
应该做的伎俩
答案 1 :(得分:2)
在UNIXy shell中,您可以通过在命令前加上环境变量设置来为一个命令设置一个环境变量:
$ PYTHONPATH=/my/python/install python test.py
答案 2 :(得分:0)
如果其他答案都不适合您,您可以编写一个包装脚本,暂时设置环境变量,然后执行exec的另一个脚本。例如:
python mywrapper.py -magical_path_flag /my/python/install test.py