如果您想使用给定的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")
或者在默认site-packages
中制作特殊的usercustomize.py
并具有相同的内容。
有没有办法从 shell 修改 sys.path
?
我正在寻找的行为是:
$ 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
库)。
最佳答案
对我来说有效:
$PYTHONPATH="/home/farhad" python -c 'import sys; print sys.path[:2]'
['', '/home/farhad']
$
关于python - 从 shell 前面添加 sys.path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19964470/