首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >准备壳牌的sys.path?

准备壳牌的sys.path?
EN

Stack Overflow用户
提问于 2013-11-13 21:13:56
回答 2查看 1.4K关注 0票数 2

如果您想使用给定的python二进制文件,可以在PATH之前加上。

如果您想使用给定的libpython,可以在LD_LIBRARY_PATH前面加上

现在,假设您想使用给定的包目录。我试过PYTHONPATH --但它不起作用:

代码语言:javascript
复制
$ 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']

为了做到这一点,您必须在脚本中这样做:

代码语言:javascript
复制
import sys
sys.path.insert(0, "/home/boris/test/lib/python2.7/site-packages")

或使默认情况下的特殊usercustomize.py具有相同的内容。

是否有一种从shell修改sys.path的方法?

我要找的是:

代码语言:javascript
复制
$ 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排在第二位,我看不出有什么坏处:

代码语言:javascript
复制
['', '/home/boris/test/lib/python2.7/site-packages']

代码语言:javascript
复制
~: PYTHONPATH="/home/farhad" python -c 'import sys; print sys.path[:2]'
['', '/home/boris/.local/lib/python2.7/site-packages']

对我不起作用。可能是因为我有usercustomize.py (请看,在系统范围的库之前,我也想要~/.local库)。

EN

回答 2

Stack Overflow用户

发布于 2013-11-13 21:19:43

对我来说,工作:

代码语言:javascript
复制
$PYTHONPATH="/home/farhad" python -c 'import sys; print sys.path[:2]'
['', '/home/farhad']
$
票数 1
EN

Stack Overflow用户

发布于 2013-11-13 21:25:55

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19964470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档