我有一个存放所有Django应用程序的目录(C:\My_Projects)。我想把这个目录添加到我的PYTHONPATH中,这样我就可以直接调用应用程序。

我试着添加C:\My_Projects\;从Windows GUI到我的Windows路径变量(我的计算机>属性>高级系统设置>环境变量)。但它仍然不读取coltrane模块并生成以下错误:

错误:没有名为coltrane的模块


当前回答

Python使用PYTHONPATH环境变量来指定在Windows上可以导入模块的目录列表。运行时,可以检查系统。Path变量,以查看在导入某些内容时将搜索哪些目录。

要在命令提示符中设置这个变量,请使用:set PYTHONPATH=list;of;paths。

要从PowerShell设置这个变量,请在启动Python之前使用:$env:PYTHONPATH= ' list;of;paths '。

不建议通过环境变量设置全局设置此变量,因为它可能被任何版本的Python使用,而不是您打算使用的版本。在Python on Windows FAQ文档中阅读更多内容。

其他回答

你需要添加到你的PYTHONPATH变量而不是Windows PATH变量。

http://docs.python.org/using/windows.html

我按照以下步骤在Windows 10上安装了它。

在环境变量下,只能在“系统变量”的PATH下添加,而不能在“用户变量”下添加。这是一个很大的混乱,如果我们错过了它就会浪费时间。

此外,只需尝试导航到机器中安装Python的路径,并将其添加到path。这只是工作,不需要在我的情况下添加任何其他东西。我添加了下面的路径,它工作。

C:\Users\YourUserName\AppData\Local\Programs\Python\Python37-32

最重要的是,关闭命令提示符,重新打开,然后重新尝试输入“python”以查看版本详细信息。在环境变量中设置路径后,需要重新启动命令提示符查看版本。

重启后,当你在命令提示符中输入python时,你应该能看到python提示符和下面的info:

Python使用PYTHONPATH环境变量来指定在Windows上可以导入模块的目录列表。运行时,可以检查系统。Path变量,以查看在导入某些内容时将搜索哪些目录。

要在命令提示符中设置这个变量,请使用:set PYTHONPATH=list;of;paths。

要从PowerShell设置这个变量,请在启动Python之前使用:$env:PYTHONPATH= ' list;of;paths '。

不建议通过环境变量设置全局设置此变量,因为它可能被任何版本的Python使用,而不是您打算使用的版本。在Python on Windows FAQ文档中阅读更多内容。

从Windows命令行:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

要永久地设置PYTHONPATH,请将该行添加到autoexec.bat中。或者,如果您通过系统属性编辑系统变量,它也将被永久更改。

这些解决方案可以工作,但它们只适用于您的机器上的代码。我会在代码中添加几行如下所示的代码:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

这样你的问题就解决了