我有一个存放所有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 3.3+实现这一目标的人来说,Windows安装程序现在包含了一个选项,可以将Python .exe添加到系统搜索路径中。在文档中阅读更多。

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

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

Windows 7 Professional 我修改了@mongoose_za的答案,使其更容易更改python版本:

[右键单击]计算机>属性>高级系统设置>环境变量 点击“系统变量”下的[新] 变量名称:PY_HOME,变量值:C:\path\to\python\version 单击[确定] 找到“Path”系统变量,点击[编辑] 将以下内容添加到现有变量中: % PY_HOME %, % PY_HOME % \ Lib; % PY_HOME % \ dll; % PY_HOME % \ Lib \ lib-tk; 单击[OK]关闭所有窗口。

作为最后的完整性检查,打开命令提示符并输入python。你应该看到

>python [whatever version you are using]

如果需要在版本之间切换,只需要修改PY_HOME变量以指向正确的目录。如果你需要安装多个python版本,这将更容易管理。

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

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

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


打开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。路径可以安全地扩展到您的喜欢。

在windows上的Python 3.4中,当我将它添加到PATH环境变量而不是PYTHONPATH时,它工作了。就像如果你在D:\Programming\Python34中安装了Python 3.4,那么在PATH环境变量的末尾添加这个

;D:\Programming\Python34

关闭并重新打开命令提示符并执行“python”。它将打开python shell。这也修正了我Sublime 3的“python不被识别为内部或外部命令”的问题。