预先准备系统路径从壳牌公司?

2024-03-29 09:36:36 发布

您现在位置:Python中文网/ 问答频道 /正文

如果要使用给定的python二进制文件,可以在PATH前面加上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']

要做到这一点,您必须在脚本中执行以下任一操作:

^{pr2}$

或者使特殊的usercustomize.py默认为site-packages具有相同的内容。在

有没有办法从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', '']

编辑

如果dir是第二个,我看不出有什么坏处:

['', '/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(请参阅,在系统范围的lib之前,我还想要~/.locallib)。在


Tags: pathpytestimporthomelibpackageslocal
2条回答

在我看来,您的特定用例,正如您在注释中描述的那样,将通过使~/.local/.../numpy成为一个符号链接,然后更改该符号链接而不是直接更改导入路径。在

为我工作:

$PYTHONPATH="/home/farhad" python -c 'import sys; print sys.path[:2]'
['', '/home/farhad']
$

相关问题 更多 >