python - 从 shell 前面添加 sys.path?

标签 python shell path

如果您想使用给定的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/

相关文章:

python - 如何编写可以与 swift 可执行文件的输入和输出进行通信的 python 脚本?

python - 如何将 Python 2.7 设为 Mac 的默认 Python 版本?

c - 如何知道新创建的文件的完整路径?

python - 从 requirements.txt 安装时出现 "No module named numpy"错误

python - 完全 Cython 化的应用程序

Linux Shell 脚本文件和目录循环

python - 你如何显示当前运行的python模块的路径?

python - 更改文件夹、所有子文件夹和所有文件的权限

用于 ios 解释器的 Python

python - 使用 Scrapy shell 抓取 JSON 文件时终端窗口自动关闭