在 Windows 上将 Python 添加到 PATH

我一直在尝试将 Python 路径添加到 Windows 的命令行中,但无论我尝试什么方法,似乎都没有用。我使用了 set命令,我尝试通过编辑环境变量提示符添加它,等等。

此外,如果我在命令行上运行 set 命令,它会列出以下内容。

python = c:\python27

但是它仍然不能识别 Python 命令。

阅读文档和其他各种来源似乎没有什么帮助。

为了进一步澄清,我已经在 Edit Environment 提示符中将 Python 可执行文件的路径附加到 PATH。好像不管用。

553402 次浏览

您可以使用 PATH =命令设置来自 当前 cmd 窗口当前 cmd 窗口的路径。这只会为当前 cmd 实例添加它。如果要永久地添加它,应该将它添加到系统变量中。(电脑 > 高级系统设定 > 环境变数)

进入 cmd 实例,输入 PATH=C:/Python27/;%PATH%

  1. 按住 Win然后按 Pause
  2. 单击“高级系统设置”。
  3. 点击环境变量。
  4. ;C:\python27附加到 Path变量。
  5. 重新启动命令提示符。

我对这个问题已经有很长一段时间了。我想尽一切办法把它添加到我的道路上,但最终我还是做到了:

  1. 右键点击“我的电脑”
  2. 点击“属性”
  3. 单击侧面板中的“高级系统设置”
  4. 点击“环境变量”
  5. 点击系统变量下面的“新建”
  6. 在名称中输入 pythonexe (或任何您想要的)
  7. 在值中输入 python 的路径(例如: C:\Python32\)
  8. 现在编辑 Path 变量(在系统部分中) ,并将 %pythonexe%;添加到已有内容的末尾

我知道为什么这个方法有效,但是对我来说确实有效。

然后尝试输入“ python”到您的命令行,它应该工作!


编辑:

最近我一直在使用 这个节目,它似乎工作得很好。还有 这个看起来也很不错,虽然我从来没有试过。

确保不在新目录前添加空格。

好: 旧的; 旧的; 新的

坏: 旧的; 旧的; 新的

在 Windows 中设置环境变量时,我曾多次出错。 我觉得我应该在这里分享一些我过去的错误希望这能帮到别人。 (这些适用于所有的环境变量,而不仅仅是在设置 Python 路径时)

注意以下可能出现的错误:

  1. 杀死并重新打开您的 shell 窗口: 一旦您对 ENVIRONMENTAL 变量进行了更改,您就必须在您正在测试它的窗口上进行 重新开始操作。
  2. 设置变量时,无空格 。确保添加 ;C:\Python27时没有任何空格。(通常尝试 C:\SomeOther; C:\Python27,分号后面的空格(something)是 < em > not okay。)
  3. 在拼写完整路径时使用 向后砍。当您尝试 echo $PATH时,您将看到向前的斜杠,但是只有向后的斜杠对我有效。
  4. 不要添加最后一个反斜杠 。只有 C:\Python27不要 C:\Python27\

希望这对谁有帮助。

我知道这篇文章很老了,但我想补充的是,解决方案假设管理权限。如果你没有这些,你可以:

进入控制面板,键入 path (现在是 Windows7,所以在搜索框中) ,然后单击“ EditEnvironment variable for your account”。现在你会看到环境变量对话框的顶部是“用户变量”,下面是“系统变量”。

作为用户,你可以点击顶部的“新建”按钮,然后添加:

变量名: 路径
变量值: < strong > C: Python 27

(没有空格) ,然后点击确定。一旦重新启动命令提示符,User 变量中的任何 PATH 都是 附件到系统路径的末尾。它不会以任何其他方式替换 PATH。

如果你想设置一个特定的完整路径,你最好创建一个像下面这样的批处理文件:

@echo off
PATH C:\User\Me\Programs\mingw\bin;C:\User\Me\Programs;C:\Windows\system32
title Compiler Environment - %Username%@%Computername%
cmd

可以称之为“ developer.bat”或者其他什么,然后双击启动它,或者链接到它,或者钉住它等等。

尝试将这个 python.bat文件添加到 System32文件夹,当您键入 python时,命令行将运行 python

巨蟒,蝙蝠

@C:\Python27\python.exe %*

来源:

Https://github.com/kartiktalwar/dotfiles/blob/master/bat/python.bat

打开具有管理员权限的 Cmd.exe (右键单击 app) ,然后键入:

Setx path“% path% ; C: Python 27;

记住以分号结尾,不要包括后面的斜杠。

您需要对系统变量进行更改
——右击“我的电脑”
——单击“属性”
——单击侧面板中的“高级系统设置”
--点击环境变量-- 您将看到用户变量和系统变量的两个部分
——在系统变量部分搜索变量‘ Path’,点击编辑和添加
"C:\Python27;"(不带引号)保存它
--现在打开命令行键入‘ path’点击回车,您将看到路径变量已被修改
——现在键入 python --version,您将看到 Python 版本

就这么定了

下面的程序将把 python 可执行路径和 subdir 脚本(例如 pip 和 easy _ install 就安装在这里)添加到您的环境中。属性的注册表项找到到 Python 可执行文件的路径。Py 分机。它将删除环境中的旧的 Python 路径。也可以用于 XP (可能还有 Vista)。 它只使用基本 Windows Installer 的模块。

# coding: utf-8


import sys
import os
import time
import _winreg
import ctypes


def find_python():
"""
retrieves the commandline for .py extensions from the registry
"""
hKey = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
r'Python.File\shell\open\command')
# get the default value
value, typ = _winreg.QueryValueEx (hKey, None)
program = value.split('"')[1]
if not program.lower().endswith(r'\python.exe'):
return None
return os.path.dirname(program)


def extend_path(pypath, remove=False, verbose=0, remove_old=True,
script=False):
"""
extend(pypath) adds pypath to the PATH env. variable as defined in the
registry, and then notifies applications (e.g. the desktop) of this change.
!!! Already opened DOS-Command prompts are not updated. !!!
Newly opened prompts will have the new path (inherited from the
updated windows explorer desktop)
options:
remove (default unset), remove from PATH instead of extend PATH
remove_old (default set), removes any (old) python paths first
script (default unset), try to add/remove the Scripts subdirectory
of pypath (pip, easy_install) as well
"""
_sd = 'Scripts' # scripts subdir
hKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE,
r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
0, _winreg.KEY_READ | _winreg.KEY_SET_VALUE)


value, typ = _winreg.QueryValueEx (hKey, "PATH")
vals = value.split(';')
assert isinstance(vals, list)
if not remove and remove_old:
new_vals = []
for v in vals:
pyexe = os.path.join(v, 'python.exe')
if v != pypath and os.path.exists(pyexe):
if verbose > 0:
print 'removing from PATH:', v
continue
if script and v != os.path.join(pypath, _sd) and \
os.path.exists(v.replace(_sd, pyexe)):
if verbose > 0:
print 'removing from PATH:', v
continue
new_vals.append(v)
vals = new_vals
if remove:
try:
vals.remove(pypath)
except ValueError:
if verbose > 0:
print 'path element', pypath, 'not found'
return
if script:
try:
vals.remove(os.path.join(pypath, _sd))
except ValueError:
pass
print 'removing from PATH:', pypath
else:
if pypath in vals:
if verbose > 0:
print 'path element', pypath, 'already in PATH'
return
vals.append(pypath)
if verbose > 1:
print 'adding to PATH:', pypath
if script:
if not pypath + '\\Scripts' in vals:
vals.append(pypath + '\\Scripts')
if verbose > 1:
print 'adding to PATH:', pypath + '\\Scripts'
_winreg.SetValueEx(hKey, "PATH", 0, typ, ';'.join(vals) )
_winreg.SetValueEx(hKey, "OLDPATH", 0, typ, value )
_winreg.FlushKey(hKey)
# notify other programs
SendMessage = ctypes.windll.user32.SendMessageW
HWND_BROADCAST = 0xFFFF
WM_SETTINGCHANGE = 0x1A
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, u'Environment')
if verbose > 1:
print 'Do not forget to restart any command prompts'


if __name__ == '__main__':
remove = '--remove' in sys.argv
script = '--noscripts' not in sys.argv
extend_path(find_python(), verbose=2, remove=remove, script=script)

这个问题已经很老了,但我刚刚遇到了一个类似的问题,我的特殊解决方案并没有在这里列出:

确保 PATH 中没有不存在的文件夹。

在我的例子中,我有一大堆默认文件夹(Windows、 Powershell、 Sql 服务器等) ,然后是一个我通常使用的自定义 C:\bin,然后是各种各样的其他调整,如 c:\python17等。结果是,cmd 处理器发现 c:\bin不存在,然后停止处理变量的其余部分。

而且,我不知道如果没有 PATH 经理我是否会注意到这一点。它很好地突出了该项无效的事实。

对于任何试图通过 Python 3.3 + 实现这一目标的人来说,Windows Installer 现在包含了一个选项,可以将 Python.exe 添加到系统搜索路径中。阅读更多 那些文件

我刚刚在 Windows 7上使用“将 Python 添加到 PATH”选项安装了 Python 3.3。

在 PATH 变量中,安装程序自动添加 最后一个反斜杠: C:\Python33\ 因此 它没有工作在命令提示符下(我多次尝试关闭/打开提示符)

我删除了最后一个反斜杠 ,然后它工作了: C:\Python33

谢谢 Ram Narasimhan 给你的第四条建议!

Python 附带了一个 小公用事业,只是这样做:

c:\python27\tools\scripts\win_add2path.py

确保关闭命令窗口(使用 exit或关闭按钮)并再次打开它。

如果 Python 是与另一个程序一起安装的,比如我的案例中的 ArcGIS 10.1,那么您还必须在 Environment Variables 中包含任何路径到 Python.exe 的额外文件夹。

我的环境变量是这样的:

系统变量 > 路径 > 添加 ;C:\Python27\ArcGIS10.1

我使用 cmd 在 Win764位下组织我的 python 环境变量。

我通过 windows 的环境变量菜单设置了变量 PYTHONPATH,并将 %PYTHONPATH%添加到 PATH变量:

...;%PYTHONPATH%

Cmd shell 将变量正确地展开为:

C:\>echo %PYTHONPATH%
C:\python27;c:\python27\lib;C:\python27\scripts

不要忘记在更改 PATH 后重新启动 cmd shell。

使用 Windows 环境变量总是一种可怕的体验。最近,我发现了一个很棒的工具,叫做 RapidEnvironment Editor,它提供了一个非常简单的 GUI 来管理它们。

如果你使用 Chocolatey,你可以使用 choco install rapidee来安装它。否则,看一下下载 http://www.rapidee.com/en/download

重读一遍,听起来像是付钱的托儿,但我发誓我没有!它只是我的工具箱中最有用的实用程序之一,有一段时间了,我很惊讶似乎没有人知道它。

把它写在命令提示符上:

set Path=%path%

用 Python 文件夹的路径替换% Path% 示例:

set Path=C:/Python27

如果您对设置 python 的路径感到沮丧,只需下载新版本的 python 卸载旧版本的 python,在安装新版本时,它会询问是否设置路径标记并安装

这是最好的办法

对于在控制台中编写 python 时获得 windows store 窗口的用户,您所要做的就是转到 configuration -> Manage app execution aliases并禁用显示 python 的开关。

然后,将以下文件夹添加到 PATH。

C:\Users\alber\AppData\Local\Programs\Python\Python39\
C:\Users\alber\AppData\Local\Programs\Python\Python39\Scripts\

如果使用 Windows,请运行以下命令:

C:\Users\username> cd C:\bin
C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd

确保您已经安装了 phpuunit,如下所示: https://phpunit.de/manual/6.5/en/installation.html

然后:

phpunit path-to-your-test

对于 anaconda3安装,要添加的路径如下:

%USERPROFILE%\anaconda3\
%USERPROFILE%\anaconda3\Scripts\
%USERPROFILE%\anaconda3\Library\bin\