如何在Windows中添加到PYTHONPATH,以便找到我的模块/软件包?


369

我有一个托管所有Django应用程序的目录(C:\My_Projects)。我想将此目录添加到我的目录中,PYTHONPATH以便直接调用应用程序。

我尝试从Windows GUI()添加C:\My_Projects\;到Windows Path变量中My Computer > Properties > Advanced System Settings > Environment Variables。但是它仍然不读取coltrane模块并生成此错误:

错误:没有名为coltrane的模块


对于“没有命名模块”的错误:stackoverflow.com/questions/23417941/…–
JinSnow


如果您想在命令提示符下运行python,请在此处得到很好的答复,希望对您
有所

Answers:


411

您知道在Windows上对我非常有效的方法。

My Computer > Properties > Advanced System Settings > Environment Variables >

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

要么

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

在此处输入图片说明

这是对我有用的最好方法,我在提供的任何文档中都没有找到它。

编辑:对于那些谁无法获得它,请添加

C:\ Python27;

随之而来。否则它将永远无法正常工作


50
您可能想添加C:\Python27路径。
魏扬

5
@SteveKoch我不确定-您将不得不询问项目的维护者。我不再使用路径编辑器,因为我改用了更好的快速环境编辑器
Piotr Dobrogost

5
将C:\ Python27 \ Scripts添加到路径也很重要,以便可以从Shell运行已安装的脚本。
泰勒·布洛克

6
为什么你会放C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkPYTHONPATH?这些已经配置。脚本目录进入系统PATH。库目录(未安装site-packages或按用户site-packages)进入PYTHONPATH
Eryk Sun 2014年

11
我还必须在我的PATH中包括%PYTHONPATH%。
16x

124

Windows 7 Professional I修改了@mongoose_za的答案,以便更轻松地更改python版本:

  1. [右键单击]计算机>属性>高级系统设置>环境变量
  2. 点击“系统变量”下的[新建]
  3. 变量名称:PY_HOME,变量值:C:\ path \ to \ python \ version 在此处输入图片说明
  4. 点击[确定]
  5. 找到“路径”系统变量,然后单击[编辑]
  6. 将以下内容添加到现有变量中:

    %PY_HOME%;%PY_HOME%\ Lib;%PY_HOME%\ DLLs;%PY_HOME%\ Lib \ lib-tk; 在此处输入图片说明

  7. 单击[确定]关闭所有窗口。

最后,检查命令提示符并输入python。你应该看到

>python [whatever version you are using]

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


4
尝试了一下,它奏效了...我建议任何遇到相同问题的人都可以尝试。
Christopher M.

2
尝试了一下,它什么也没做。
GreySage

我尝试了上面接受的答案,但是该方法无效,因此我建议您这样做。
mjwrazor

2
@Reihan_amn我的意思是包含lib,bin,libexec等的包装目录。通常,这些目录名为Python [VERSION_NUMBER] /,但我也看到了python / [VERSION_NUMBER]。希望这会
有所

5
我尝试了这个,对我有用。我必须做一个小调整,将Windows 10的每个条目添加到PATH变量后,都单击“新建”。%PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; 我还需要添加%PY_HOME%\Scripts我PIP如pylint的安装,所以我不得不进入画中画和模块
何塞”巴尔加斯

82

从Windows命令行:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

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


1
工作,但每次我打开dos时,我都必须设置路径。
darren

7
我更喜欢使用set path=%PATH%;%PYTHONPATH%;
,星期三

5
做和编辑autoexec.bat ..!我们是否突然回到了90年代?
drexiya 2013年

4
在此之前,请 回显%PYTHONPATH%(如果这使您可以继续前进),否则,请执行例如set PYTHONPATH = .; C:\ My_python_lib如果不这样做,则Windows将按预期将%PYTHONPATH%扩展为空字符串,它将将其保存为PYTHONPATH中的%PYTHONPATH%,一切都会中断!听起来很疯狂,但这就是win7 cmd的工作原理...
ntg

69

您只需将您的安装路径(前C:\ Python27 \)到PATH变量系统变量。然后关闭并打开命令行,并输入'python'


37
这回答的问题与OP提出的问题完全不同。
wpercy

1
问题不是关于PATHDOS用于查找命令的问题,而是关于Python路径,即sys.path在Python中。在大多数操作系统中,Python仅使用系统环境变量PYTHONPATH,而Windows似乎是“特殊的”。
Michael Scheper

52

这些解决方案有效,但是它们仅在您的计算机上适用于您的代码。我会在代码中添加几行,如下所示:

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

那应该照顾你的问题


4
sys.path出于充分的理由,这样的修改是不受欢迎的。有更好的配置方法sys.path- PYTHONPATH环境变量和.pth文件。
Piotr Dobrogost

38

PythonPythonPath添加到Windows环境:

  1. 打开资源管理器。
  2. 右键单击左侧导航树面板中的“计算机”
  3. 选择上下文菜单底部的“属性”
  4. 选择“高级系统设置”
  5. 点击“环境变量...”高级”选项卡中的
  6. “系统变量”下

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    1. 附加

      • path

        %PY_HOME%;%PY_HOME%\Scripts\

3
这是唯一对我有用的解决方案。同样,对于那些没有管理员权限的用户,只需按照“ [yourUsername]的用户变量”下的步骤进行操作,它将同样起作用。
Fares KA

Windows上的Python,现在更加欣赏node.js
Eddie

19

在python中设置路径的更简单方法是:单击开始>我的电脑>属性>高级系统设置>环境变量>第二个窗口>

在此处输入图片说明

选择“路径”>“编辑”>,然后添加“; C:\ Python27 \; C:\ Python27 \ Scripts \”

链接:http : //docs.python-guide.org/en/latest/starting/install/win/


更改系统路径不会更改任何内容(也将其删除)。但是输入admin cmd可以:ftype Python.File =“ C:\ Python27 \ python.exe”“%1”%*
JinSnow


13

您还可以在.pth文件c:\PythonX.X夹或中添加一个包含所需目录的文件\site-packages folder,这在我开发Python软件包时通常是我的首选方法。

有关更多信息,请参见此处


9
import sys
sys.path.append("path/to/Modules")
print sys.path

这不会在重新启动后持续存在,也不会转换为其他文件。但是,如果您不想对系统进行永久性修改,那就太好了。


1
+1是设置运行时间的能力。虽然可以说是“ hacky”,但在编写概念证明或一次性工作时,这是完美的,并且不会更改系统。
约书亚伯恩斯

我不同意您只需要这样做一次。我发现额外的路径不会在内核重新启动后持续存在
StackG 18'Aug

8

成功执行此操作的最简单方法是再次运行python安装程序(首次安装后),然后:

  1. 选择修改。
  2. 检查所需的可选功能,然后单击下一步。
  3. 到这里,在“高级选项”步骤中,您必须看到一个选项“将Python添加到环境变量”。只需检查该选项,然后单击“安装”即可。 第三步 安装完成后,将添加python环境变量,您可以在任何地方轻松使用python。

6

在Windows上的Python 3.4中,当我将其添加到PATH环境变量而不是PYTHONPATH 时,它可以工作。就像您在D:\ Programming \ Python34中安装了Python 3.4一样,请将其添加到PATH环境变量的末尾

;D:\Programming\Python34

关闭并重新打开命令提示符,然后执行“ python”。它将打开python shell。这也解决了我的Sublime 3问题:“ python无法识别为内部或外部命令”


是的,这是我唯一的解决方案(Python 3.x)。我真的不知道为什么%PYTHONPATH%不能在Path参数上解析。不需要调用Scripts文件夹。
戴维森·利马

6

可以从上面的一些说明中设置python 2.X路径。默认情况下,Python 3将安装在C:\ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \中,因此必须将此路径添加到Windows环境中的Path变量中。


5

要增强PYTHONPATH,请运行regedit并导航至KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore,然后选择要使用的python版本的文件夹。该文件夹内有一个标为PythonPath的文件夹,其中一个条目指定默认安装存储模块的路径。右键单击PythonPath并选择创建一个新密钥。您可能想在将要指定模块位置的项目后命名该密钥;这样,您可以轻松地划分和跟踪路径修改。

谢谢


4

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

要从命令提示符设置此变量,请使用:set PYTHONPATH=list;of;paths

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

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



3

这个问题需要一个正确的答案:

只需使用site为此工作量身定制的标准包装即可!

这是怎么做的(在同一主题上回答我自己的问题的答案):


  1. 打开Python提示符并输入
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. 如果此文件夹尚不存在,请创建它:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. 手动或使用类似以下代码sitecustomize.py的内容在此文件夹中创建一个包含的内容的文件FIND_MY_PACKAGES。当然,您必须更改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.path,而无需触摸系统范围的设置。奖励:以上步骤也适用于Linux!


看起来这就是方法。一个好的跨平台长期解决方案。太好了!
Pramesh Bajracharya

2

安装ArcGIS Desktop时PYTHONPATH需要设置此变量ArcPY

PYTHONPATH=C:\arcgis\bin (您的ArcGIS Home Bin)

由于某种原因,当我在Windows 7 32位系统上使用安装程序时,从未设置过它。


2

我按照以下步骤在Windows 10中工作了。

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

另外,只需尝试导航到在计算机中安装Python的路径并将其添加到PATH。这只是工作而无需添加其他任何东西。

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

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

重新启动后,在命令提示符下键入python时,您应该能够看到python提示符和以下信息:

在命令提示符下键入python时


1

可能有些晚,但这是您将路径添加到Windows环境变量的方法。

  1. 转到环境变量选项卡,您可以通过按Windows键+ Pausa inter来执行此操作。

  2. 转到高级系统设置。

  3. 单击环境变量。

  4. 在下方的窗口中搜索“路径”值。

  5. 选择它

  6. 点击编辑

  7. 在该行的末尾,添加您的安装文件夹和到“脚本”文件夹的路由。

  8. 单击确定,接受器等。

完成后,输入cmd并从驱动器的任何位置编写python,它应该进入Python程序。

我的PC的示例(我有Python34

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

希望能帮助到你。

波哥大的问候


2
确实已经晚了,因为该答案已经在五年前提供了:-)这里也不是真正要问的(因为问题是关于PYTHONPATH,而不是PATH)……
Martin Tournoij

2
什么是Pausa inter。?
林戈

0

您可以通过命令提示符轻松设置路径变量。

  1. 打开运行并编写cmd

  2. 在命令窗口中,输入以下内容:set path =%path%; C:\ python36

  3. 按回车。
  4. 检查写python并输入。您将看到python版本,如图所示。

在此处输入图片说明


0

虽然这个问题是关于“真正的” Python的,但确实是在网络搜索“ Iron Python PYTHONPATH”中出现的。对于像我一样困惑的Iron Python用户:事实证明Iron Python寻找一个名为的环境变量IRONPYTHONPATH

Linux / Mac / POSIX用户:不要忘记Windows不仅\用作路径分隔符,而且还;用作路径定界符,而不是:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.