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

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

错误:没有名为coltrane的模块


当前回答

蟒蛇。X路径可以从上面的几个指令中设置。 Python 3默认安装在 Python C:\Users\当地\ AppData \ \程序\ \ Python35-32 \ 所以这个路径必须添加到windows环境中的path变量中。

其他回答

这个问题需要一个恰当的答案:

只需使用标准的包站点,它是为这项工作而设计的!

以下是我的答案(抄袭了我自己对同一主题问题的回答):


打开Python提示符并键入

>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...

(或者,调用python -m site——user-site也有同样的效果。)

如果这个文件夹还不存在,创建它:

...
>>> import os
>>> os.makedirs(site.USER_SITE)
...

(或者,在Bash中,您喜欢的makedirs -p $的变体(python -m site——user-site)。)

在这个文件夹中创建一个包含FIND_MY_PACKAGES内容的文件sitecustomize.py(使用这个文件名,否则它将不起作用),可以手动创建,也可以使用以下代码。当然,您必须将C:\My_Projects更改为自定义导入位置的正确路径。

...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

下次启动Python时,C:\My_Projects会出现在sys. exe文件中。路径,而不必触及系统范围的设置。额外的好处:上面的步骤在Linux上也适用!


为什么会这样?

来自标准库包站点的文档:

[然后]尝试导入一个名为sitecustomize的模块,该模块可以执行任意特定于站点的定制。[…]。

因此,如果你在PYTHONPATH的任何地方创建了一个名为sitecustomize的模块,包site将在Python启动时执行它。通过调用site。Addsitedir, sys。路径可以安全地扩展到您的喜欢。

你知道在窗户上什么对我很有效。

我的电脑>属性>高级系统设置>环境变量>

只需将路径添加为C:\Python27(或任何安装python的地方)

OR

然后在系统变量下创建一个名为PythonPath的新变量。在这个变量中我有C:\Python27\Lib;C:\Python27\ dll;C:\Python27\Lib\ Lib -tk;C:\other-folders-on- path

这是对我有效的最好方法,我在任何医生提供的文件中都没有发现。

编辑:对于那些无法得到它的人, 请添加

C: \ Python27;

随它去吧。否则它永远不会起作用。

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

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

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

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

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

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

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

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

这样你的问题就解决了

To augment PYTHONPATH, run regedit and navigate to KEY_LOCAL_MACHINE \SOFTWARE\Python\PythonCore and then select the folder for the python version you wish to use. Inside this is a folder labelled PythonPath, with one entry that specifies the paths where the default install stores modules. Right-click on PythonPath and choose to create a new key. You may want to name the key after the project whose module locations it will specify; this way, you can easily compartmentalize and track your path modifications.

谢谢