当前位置: 首页 > 面试题库 >

将目录添加到sys.path / PYTHONPATH

段干宜
2023-03-14
问题内容

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

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

有人可以解释为什么会发生这种情况,并给我一个 python脚本中将其添加mod_directory到开始的解决方案吗? __


问题答案:

如文档所述,这正在工作。PYTHONPATH文件中指定的任何路径通常在工作目录之后但在标准解释器提供的路径之前记录。
sys.path.append()追加到现有路径。看到这里和这里。如果要让特定目录优先出现,只需将其插入sys.path的开头即可:

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

也就是说,通常有比直接使用PYTHONPATH或操纵更好的方法来管理进口sys.path。例如,请参阅此问题的答案。



 类似资料:
  • 我试图从一个特定的目录中导入一个模块。 问题是如果我使用<code>sys.path。append(moddirectory)要附加路径,然后打开python解释器,目录将添加到列表sys.path的末尾。如果我在打开python解释器之前导出变量,那么该目录将被添加到列表的开头。在后一种情况下,我可以导入模块,但在前一种情况中,我不能。 有人可以解释为什么会发生这种情况,并给我一个解决方案,在

  • 问题内容: 当前,当尝试引用一些库代码时,我正在python文件的顶部执行此操作: 然后,只要会话处于活动状态,它将一直是sys.path的一部分。如果我开始一个新文件,我必须记住再次包含它。 我觉得必须有一个更好的方法来做到这一点。如何不用Windows每次都使用Windows机器上的每个python脚本? 问题答案: 只需将此路径添加到您的PYTHONPATH环境变量即可。为此,请转到“控制面

  • 问题内容: 每当我使用时,都会添加新目录。但是,一旦我关闭python,列表将恢复为以前的值(默认值)。如何将目录永久添加到PYTHONPATH? 问题答案: 你需要将新目录添加到环境变量中PYTHONPATH,并用冒号与其之前的内容分隔开。在任何形式的Unix中,你都可以在启动脚本中执行此操作,该脚本适合于你正在使用的任何shell(.profile或取决于你喜欢的shell),该命令又取决于所

  • 我一直在尝试向<code>PYTHONPATH</code>添加一个自定义目录。我在Mac上使用bash,如果相关的话。这就是我所做的: < li> < li> 并保存 < li> 有两个问题: < li >当我在Python IDE中运行< code>sys.path时,目标目录仍然没有出现。 < li >当我在终端中启动Python并在那里运行< code>sys.path时,确实显示了目录,

  • 将git更新为我发现以下错误: 我已尝试将项目的父目录添加到但它不起作用。 有解决办法吗 我不想将我正在处理的每个项目添加到文件中。 直到 和 是相同的 更新:在我的例子中,目录(很可能)是由我的Microsoft帐户在旧Windows安装中拥有的。 被接受的答案通过“修复”我的目录。这使得添加-不需要。

  • 问题内容: 我有一个名为的文件,我想从其他文件中使用该文件,因此我决定将其添加到另一个文件中并将其导入另一个文件中以使用该文件。为此,我在IPython中运行了以下内容。 我可以看到我刚刚添加的路径,当我尝试从另一个目录路径中导入该文件时,如下所示: 它工作正常,但是一旦我离开IPython,再次输入它,并检查了,我发现添加的路径不存在,那么如何在Python中永久地向sys.path添加路径?