如何永久添加目录到PYTHONPATH?

465 投票
24 回答
1203925 浏览
提问于 2025-04-16 02:16

每次我使用 sys.path.append 时,新的目录会被添加进去。但是,一旦我关闭 Python,这个列表就会恢复到之前的(默认的)值。我该如何永久性地将一个目录添加到 PYTHONPATH 中呢?

24 个回答

114

你可以选择不去修改 PYTHONPATH,而是创建一个 路径配置文件。首先,你需要找出Python在哪个文件夹里查找这些信息:

python -m site --user-site

出于某种原因,这在Python 2.7中似乎不太管用。在这种情况下,你可以使用:

python -c 'import site; site._script()' --user-site

然后在那个文件夹里创建一个 .pth 文件,里面写上你想添加的路径(如果那个文件夹不存在,就先创建它)。

例如:

# find directory
SITEDIR=$(python -m site --user-site)

# create if it doesn't exist
mkdir -p "$SITEDIR"

# create new .pth file with our path
echo "$HOME/foo/bar" > "$SITEDIR/somelib.pth"
600

如果你在使用bash(比如在Mac或者GNU/Linux系统上),可以把这个内容添加到你的 ~/.bashrc 文件里。

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

你需要把新建的文件夹添加到环境变量 PYTHONPATH 中,和之前的内容用冒号分开。在任何Unix系统中,你可以在适合你使用的命令行工具的启动脚本中做到这一点(比如 .profile,具体取决于你喜欢用哪个命令行工具),使用的命令也会根据不同的命令行工具而有所不同;在Windows系统中,你可以通过系统的图形界面来完成这个操作。

如果你需要更详细的信息,比如如何在你选择的平台和命令行工具中添加环境变量,可能可以去 superuser.com 提问,因为这其实不是一个编程问题。

撰写回答