正在将目录添加到sys.path/PYTHONPATH

2024-03-29 15:41:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从特定目录导入模块。

问题是,如果我使用sys.path.append(mod_directory)附加路径,然后打开python解释器,那么目录mod_directory将添加到列表sys.path的末尾。如果在打开python解释器之前导出PYTHONPATH变量,目录将被添加到列表的开头。在后一种情况下,我可以导入模块,但在前一种情况下,我不能。

有人能解释一下为什么会发生这种情况,并给我一个解决方案,在python脚本的开头添加mod_directory


Tags: 模块path路径目录脚本mod列表sys
3条回答

至于我,我需要去我的Python之路。我可以把它的路径添加到文件中 /home/xy/.bashrc按add

export PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH

到我的/home/xy/.bashrc文件。

但当我使用pycharm时,这条路仍然不在。

所以我可以通过运行编辑配置将路径添加到PYTHONPATH变量。

enter image description here

这是有记录的。在PYTHONPATH中指定的任何路径都被记录为通常位于工作目录之后,但在标准解释器提供的路径之前。sys.path.append()追加到现有路径。见herehere。如果您希望某个特定的目录排在第一位,只需将其插入sys.path的开头:

import sys
sys.path.insert(0,'/path/to/mod_directory')

也就是说,通常有比使用PYTHONPATH或直接操作sys.path更好的方法来管理导入。例如,请参见this question的答案。

您可以使用:

import os
path = 'the path you want'
os.environ['PATH'] += ':'+path

相关问题 更多 >