每当我使用sys.path。追加,新目录将被添加。然而,一旦我关闭python,列表将恢复到以前的(默认?)值。如何将目录永久添加到PYTHONPATH?
当前回答
在Mac上:
user@terminal$ env PYTHONPATH=module_path python3
>>> import sys
>>> sys.path
['module_path', 'plus_other_python3_paths',...]
其他回答
在Python 3.6.4中,可以持久化sys。通过python会话的路径如下所示:
import sys
import os
print(str(sys.path))
dir_path = os.path.dirname(os.path.realpath(__file__))
print(f"current working dir: {dir_path}")
root_dir = dir_path.replace("/util", '', 1)
print(f"root dir: {root_dir}")
sys.path.insert(0, root_dir)
print(str(sys.path))
我强烈建议你使用virtualenv和virtualenvwrapper,否则你会弄乱你的路径
在linux上,您可以创建从包到PYTHONPATH目录的符号链接,而不必处理环境变量。喜欢的东西:
ln -s /your/path /usr/lib/pymodules/python2.7/
在多次撞击墙壁后。最终解决的问题是,在我的CentOS 8中,pip3是旧的,它在安装最新的软件包时显示错误。
现在,我已经下载了Python源包,它是Python-3.10.4,并以通常的方式安装,但是安装后检查在bash中产生了错误。
我不能删除现有的Python,因为这会破坏CentOS的桌面功能。
解决方案:
为构建
./configure //不要添加——prefix=/usr,你需要适当地设置 使-j8 Sudo make install
现在,由于您安装了多个Python,您可以设置别名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
如果有人仍然感到困惑,如果你在Mac上,请执行以下操作:
打开终端 输入open .bash_profile 在弹出的文本文件中,在最后添加这行: 出口到PYTHONPATH = $ PYTHONPATH: foo / bar 保存文件,重新启动终端,就完成了
这适用于Windows
在Windows上,使用Python 2.7进入Python安装文件夹。 开放的Lib /网站。 将example.pth空文件添加到此文件夹。 将所需的路径添加到文件中,每行一个。
然后,您将能够从脚本中看到这些路径中的所有模块。
推荐文章
- 使用散射数据集生成热图
- python:将脚本工作目录更改为脚本自己的目录
- 如何以编程方式获取python.exe位置?
- 如何跳过循环中的迭代?
- 使用Pandas为字符串列中的每个值添加字符串前缀
- ImportError:没有名为matplotlib.pyplot的模块
- 在python中遍历对象属性
- 如何在Python中使用方法重载?
- 在Python中提取文件路径(目录)的一部分
- 如何安装没有根访问权限的python模块?
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 尝试模拟datetime.date.today(),但不工作
- 将行添加到数组
- 如何在Python中直接获得字典键作为变量(而不是通过从值搜索)?
- Python:为什么functools。部分有必要吗?