将目录添加到sys.path / PYTHONPATH
我正试图从一个特定的目录中导入一个模块。
问题是,如果我使用sys.path.append(mod_directory)
追加path,然后打开python解释器,则将目录mod_directory
添加到sys.path列表的末尾。 如果在打开python解释器之前导出PYTHONPATH
variables,则该目录将被添加到列表的开头。 在后一种情况下,我可以导入模块,但在前者,我不能。
有人可以解释为什么发生这种情况,并给我一个解决scheme,以添加mod_directory
的开始, 在 python脚本内?
这是按照logging工作。 在PYTHONPATH
中指定的任何path都logging为通常在工作目录之后但在标准解释程序提供的path之前。 sys.path.append()
追加到现有的path。 看到这里和这里 。 如果你想要一个特定的目录先放在sys.path的头部:
import sys sys.path.insert(0,'/path/to/mod_directory')
也就是说,pipe理导入通常比使用PYTHONPATH
或直接操作sys.path
更好。 例如,看这个问题的答案。
你可以使用:
import os path = 'the path you want' os.environ['PATH'] += ':'+path