我正在尝试从特定目录导入模块。
问题是,如果我使用sys.path.append(mod_directory)
附加路径,然后打开python解释器,目录mod_directory
将被添加到列表sys.path的末尾。如果我在打开python解释器之前导出PYTHONPATH
变量,目录将被添加到列表的开头。在后一种情况下,我可以导入模块,但在前一种情况下,我不能。
谁能解释一下为什么会发生这种情况,并给我一个解决方案,将mod_directory
添加到开头,在python脚本中?
发布于 2013-04-20 06:49:25
这是文档化的工作方式。在PYTHONPATH
中指定的任何路径都记录为通常位于工作目录之后,但在标准解释器提供的路径之前。sys.path.append()
将追加到现有路径。参见here和here。如果您想让某个特定目录排在第一位,只需将其插入到sys.path的头部:
import sys
sys.path.insert(0,'/path/to/mod_directory')
也就是说,通常有比使用PYTHONPATH
或直接操作sys.path
更好的方法来管理导入。例如,请参阅this question的答案。
发布于 2017-08-05 20:47:10
您可以使用:
import os
path = 'the path you want'
os.environ['PATH'] += ':'+path
发布于 2018-07-16 16:47:44
对我来说,我需要在我的python路径上喝咖啡。我可以通过添加将它的路径添加到文件/home/xy/.bashrc
中
export PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH
。
添加到我的/home/xy/.bashrc
文件。
但是当我使用pycharm时,路径仍然不在。
因此我可以通过运行-> edit Configuration将路径添加到PYTHONPATH
变量。
https://stackoverflow.com/questions/16114391
复制相似问题