如果您想使用给定的python
二进制文件,您可以在PATH
.
如果你想使用给定的libpython
你可以预先LD_LIBRARY_PATH
现在假设您想使用给定的包目录。我试过PYTHONPATH
了——但它不起作用:
$ python -c 'import sys; print sys.path[:2]'
['', '/home/boris/.local/lib/python2.7/site-packages']
$ PYTHONPATH="/home/boris/test/lib/python2.7/site-packages" python -c 'import sys; print sys.path[:2]'
['', '/home/boris/.local/lib/python2.7/site-packages']
为了做到这一点,您必须在脚本中执行以下任一操作:
import sys
sys.path.insert(0, "/home/boris/test/lib/python2.7/site-packages")
或使特殊usercustomize.py
的默认site-packages
具有相同的内容。
有没有办法sys.path
从shell修改?
我正在寻找的行为是:
$ python -c 'import sys; print sys.path[:2]'
['', '/home/boris/.local/lib/python2.7/site-packages']
$ your-shell-command
$ python -c 'import sys; print sys.path[:2]'
['/home/boris/test/lib/python2.7/site-packages', '']
编辑:
如果目录是第二个,我看不出有什么害处:
['', '/home/boris/test/lib/python2.7/site-packages']
但
~: PYTHONPATH="/home/farhad" python -c 'import sys; print sys.path[:2]'
['', '/home/boris/.local/lib/python2.7/site-packages']
对我不起作用。可能是因为我有usercustomize.py
(请参阅我还想要~/.local
系统范围的库之前的库)。