如何将一个目录永久添加到PYTHONPATH中?

458
每当我使用sys.path.append时,新目录都会被添加。然而,一旦我关闭python,列表将恢复到以前(默认?)的值。如何永久地将一个目录添加到PYTHONPATH中?
24个回答

0

多次撞墙后,终于解决了问题。在我的 CentOS 8 中,pip3 版本过旧,导致无法安装最新的包。

现在,我已经下载了 Python 源码包,版本为 Python-3.10.4 ,并按照通常的方式进行了安装,但是安装后检查时在终端中生成了错误。

我不能删除现有的 Python,因为这会破坏 CentOS 的桌面特性。

解决方案:

构建:

  1. ./configure //不要添加 --prefix=/usr,需要小心设置

  2. make -j8

  3. sudo make install

现在,由于你已经安装了多个 Python 版本,所以可以设置 alias python=python3

设置 PYTHONPATH

export PYTHONPATH="/usr/local/bin/python3.10:/usr/local/lib/python3.10/lib-dynload:/usr/local/lib/python3.10/site-packages"

不要添加PYTHONHOME


0
对于那些(像我一样)不想深入涉足Python文件管理(似乎过于复杂)的人,创建一个.pth文件在我的Windows 11笔记本电脑上完美运行(我在Windows中使用Visual Studio Code)。所以只需进入您的虚拟环境站点包文件夹 - 这是我的:

enter image description here

创建一个扩展名为.pth的文本文件 - 我把它命名为wheal.pth:

enter image description here

将路径添加到其中:

enter image description here

在 VS Code 中最好的事情是,导入语句会识别这个路径(我不得不退出 VS Code 并重新进入),所以现在不需要再输入# type: ignore来抑制代码检查警告信息了!

0
受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)

-7

A点与B点之间的最短路径是一条直线;

import sys
if not 'NEW_PATH' in sys.path:
  sys.path += ['NEW_PATH']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接