每当我使用sys.path。追加,新目录将被添加。然而,一旦我关闭python,列表将恢复到以前的(默认?)值。如何将目录永久添加到PYTHONPATH?


当前回答

修复从bash切换到zsh时Python路径问题

当我从bash切换到zsh时,我遇到了Python路径问题。

解决办法很简单,但我没有注意到。

Pip告诉我,脚本blah blah或包blah blah安装在~/。不在路径中的本地/bin。

在阅读了这个问题的一些解决方案后,我打开我的.zshrc,发现解决方案已经存在。

我不得不取消注释一行:

看一看

其他回答

这适用于Windows

在Windows上,使用Python 2.7进入Python安装文件夹。 开放的Lib /网站。 将example.pth空文件添加到此文件夹。 将所需的路径添加到文件中,每行一个。

然后,您将能够从脚本中看到这些路径中的所有模块。

受到andrei-deusteanu答案的启发,以下是我的版本。这允许您在site-packages目录中创建许多额外的路径。

import os

# Add paths here.  Then Run this block of code once and restart kernel. Paths should now be set.
paths_of_directories_to_add = [r'C:\GIT\project1', r'C:\GIT\project2', r'C:\GIT\project3']

# Find your site-packages directory
pathSitePckgs = os.path.join(os.path.dirname(os.__file__), 'site-packages')

# Write a .pth file in your site-packages directory
pthFile = os.path.join(pathSitePckgs,'current_machine_paths.pth')
with open(pthFile,'w') as pth_file:
    pth_file.write('\n'.join(paths_of_directories_to_add))

print(pthFile)

对我来说,当我更改.bash_profile文件时,它起作用了。只是改变.bashrc文件工作,直到我重新启动shell。

对于python 2.7,它应该是这样的:

export PYTHONPATH="$PYTHONPATH:/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python"

在.bash_profile文件的末尾。

如果您正在使用bash(在Mac或GNU/Linux发行版上),请将此添加到~/.bashrc中

export PYTHONPATH="${PYTHONPATH}:/my/other/path"

在Mac上:

user@terminal$ env PYTHONPATH=module_path python3
>>> import sys
>>> sys.path
['module_path', 'plus_other_python3_paths',...]