在 Windows 上将 Python 添加到 PATH
- 2024-12-04 08:56:00
- admin 原创
- 227
问题描述:
我一直试图将 Python 路径添加到 Windows 上的命令行,但无论我尝试哪种方法,似乎都不起作用。我使用了命令set
,尝试通过编辑环境变量提示添加它,等等。
此外,如果我在命令行上运行 set 命令,它会列出它。
python = c:python27
但它仍然无法识别 Python 命令。
阅读文档和其他各种资料似乎没有帮助。
为了进一步说明,我已将 Python 可执行文件的路径附加到“编辑环境”提示中的 PATH。似乎不起作用。
解决方案 1:
按住。
Win
Pause
单击“高级系统设置”。
单击环境变量。
附加
;C:python27
到Path
变量。重新启动命令提示符。
解决方案 2:
在 Windows 中设置环境变量时,我犯过很多错误。我想我应该在这里分享一些我过去的错误,希望它能对某些人有所帮助。(这些适用于所有环境变量,而不仅仅是在设置 Python 路径时)
请注意这些可能的错误:
终止并重新打开您的 shell 窗口:一旦您对环境变量进行了更改,您必须重新启动正在测试它的窗口。
设置变量时不要有空格。确保添加的变量
;C:Python27
不带任何空格。(通常尝试C:SomeOther; C:Python27
在分号后添加空格 (␣) 是不可以的。)拼写完整路径时使用反斜杠
echo $PATH
。尝试时您会看到正斜杠,但只有反斜杠对我有用。不要添加最后的反斜杠。只能
C:Python27
不C:Python27
解决方案 3:
使用管理员权限打开cmd.exe(右键单击应用程序)。然后输入:
setx路径 "%path%;C:\Python27;"
请记住以分号结尾并且不要包含尾部斜杠。
解决方案 4:
这个问题困扰了我很久。我尝试了所有我能想到的方法将它添加到我的路径中,但最终我得到了以下方法:
右键单击“我的电脑”
点击“属性”
点击侧面板上的“高级系统设置”
点击“环境变量”
点击系统变量下方的“新建”
输入名称
pythonexe
(或任何你想要的)在值中输入你的 python 的路径(例如
C:Python32
:)现在编辑 Path 变量(在系统部分)并添加
%pythonexe%;
到已有内容的末尾
我不知道为什么它有效,但对我来说它有效。
然后尝试在命令行中输入“python”,它应该可以工作!
编辑:
最近我一直在使用这个程序,它似乎工作得很好。还有这个看起来也不错,尽管我从未尝试过。
解决方案 5:
尝试将此python.bat
文件添加到System32
文件夹,然后当您输入时,命令行将运行 pythonpython
python脚本
@C:Python27python.exe %*
来源:
https://github.com/KartikTalwar/dotfiles/blob/master/bat/python.bat
解决方案 6:
您可以使用命令从当前 cmd 窗口设置路径PATH =
。这将仅为当前 cmd 实例添加它。如果您想永久添加它,您应该将其添加到系统变量中。(计算机 > 高级系统设置 > 环境变量)
您将转到您的 cmd 实例,然后输入PATH=C:/Python27/;%PATH%
。
解决方案 7:
确保不要在新目录前添加空格。
好:旧的;旧的;旧的;新的
不好:旧的;旧的;旧的;新的
解决方案 8:
以下程序将向您的环境添加 python 可执行文件路径和子目录脚本(例如 pip 和 easy_install 的安装位置)。它从绑定 .py 扩展名的注册表项中找到 python 可执行文件的路径。它将删除您环境中的旧 python 路径。也适用于 XP(可能还有 Vista)。它仅使用基本 Windows 安装程序附带的模块。
# 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.Fileshellopencommand')
# 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'SYSTEMCurrentControlSetControlSession ManagerEnvironment',
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 \n 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)
解决方案 9:
Python 自带了一个小工具,可以完成这个任务。从命令行运行:
c:python27 oolsscriptswin_add2path.py
确保关闭命令窗口(使用exit
或关闭按钮)并再次打开它。
解决方案 10:
我知道这篇文章已经过时了,但我想补充一点,解决方案假设管理员权限。如果您没有管理员权限,您可以:
转到控制面板,输入路径(现在是 Windows 7,因此在搜索框中),然后单击“编辑您帐户的环境变量”。现在您将看到环境变量对话框,其中顶部是“用户变量”,下方是“系统变量”。
作为用户,您可以单击顶部的“新建”按钮并添加:
变量名:PATH
变量值:C:\Python27
(任何地方都没有空格)并单击“确定”。重新启动命令提示符后,用户变量中的任何 PATH 都会附加到系统路径的末尾。它不会以任何其他方式替换 PATH。
如果您想要设置特定的完整路径,最好创建一个像这样的批处理文件:
@echo off
PATH C:UserMeProgramsmingwin;C:UserMePrograms;C:Windowssystem32
title Compiler Environment - %Username%@%Computername%
cmd
将其命名为“compiler.bat”或其他名称,然后双击启动它。或者链接到它。或者将其固定等等...
解决方案 11:
您需要在系统变量中进行更改
右键单击“我的电脑”
单击“属性”
单击侧面板上的“高级系统设置”
单击环境变量 - 您将看到用户变量和系统变量两个部分
在系统变量部分下搜索变量“Path”单击编辑并添加
"C:Python27;"
(不带引号)保存
现在打开命令行输入“path”按回车键您将看到路径变量已被修改
现在输入
python --version
您将看到 python 版本
已经完成了
解决方案 12:
对于任何尝试使用 Python 3.3+ 实现此目的的人,Windows 安装程序现在包含一个将 python.exe 添加到系统搜索路径的选项。在文档中阅读更多内容。
解决方案 13:
使用 Windows 环境变量总是一种糟糕的体验。最近,我发现了一个很棒的工具,叫做 Rapid Environment Editor,它提供了一个非常简单的 GUI 来管理它们。
如果您使用 chocolatey,则可以使用 进行安装choco install rapidee
。否则,请查看http://www.rapidee.com/en/download
重读这篇文章,听起来像是收了钱的骗子,但我发誓不是!它只是一段时间以来我工具箱中最有用的工具之一,我很惊讶似乎没人知道它。
解决方案 14:
如果 Python 是与其他程序一起安装的(比如我这里安装的是 ArcGIS 10.1),那么您还必须在环境变量中包含指向 python.exe 的任何额外文件夹的路径。
因此我的环境变量如下所示:
系统变量>路径>添加;C:Python27ArcGIS10.1
解决方案 15:
这个问题已经很老了,但我刚刚遇到了类似的问题,而我的具体解决方案没有列在这里:
确保您的 PATH 中没有不存在的文件夹。
就我而言,我有一堆默认文件夹(Windows、Powershell、Sql Server 等),然后是C:in
我通常使用的自定义文件夹,然后是各种其他调整,例如c:python17
,等等。事实证明,cmd 处理器发现c:in
不存在,然后停止处理其余变量。
另外,如果没有PATH 管理器,我不知道我是否会注意到这一点。它很好地强调了该项目无效的事实。
解决方案 16:
我刚刚在 Windows 7 上使用选项“将 Python 添加到 PATH”安装了 Python 3.3。
在 PATH 变量中,安装程序自动添加了最后一个反斜杠: C:Python33
,因此它在命令提示符下不起作用(我尝试多次关闭/打开提示符)
我删除了最后一个反斜杠,然后它就起作用了:C:Python33
感谢 Ram Narasimhan 提供的提示#4!
解决方案 17:
我在Win7 64位下使用cmd像这样组织了我的python环境变量。
PYTHONPATH
我通过 Windows 的环境变量菜单设置了变量并添加%PYTHONPATH%
到PATH
变量中:
...;%PYTHONPATH%
cmd shell 将变量正确扩展为:
C:>echo %PYTHONPATH%
C:python27;c:python27lib;C:python27scripts
更改 PATH 后,不要忘记重新启动 cmd shell。
解决方案 18:
对于在控制台中编写 python 时获取 Windows 商店窗口的人来说,您要做的就是转到configuration -> Manage app execution aliases
并禁用显示 python 的切换。
然后,将以下文件夹添加到 PATH。
C:UsersalberAppDataLocalProgramsPythonPython39\n
C:UsersalberAppDataLocalProgramsPythonPython39Scripts\n
解决方案 19:
就我而言,有效的是:
再次双击 Pyhon 安装文件
单击“修改”。
单击下一步“可选功能”屏幕。
在下面显示的下一个屏幕上单击将 python 添加到环境变量。
单击安装并重新启动 cmd,现在应该可以工作了。
单击安装并重新启动命令提示符
解决方案 20:
在命令提示符下写下:
set Path=%path%
将 %path% 替换为 Python 文件夹的路径,示例:
set Path=C:/Python27
解决方案 21:
如果你使用的是 Windows,请运行以下命令:
C:Users/username> cd C:in
C:in> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
确保您已按照此处所述安装 phpuunit:https://phpunit.de/manual/6.5/en/installation.html
然后:
phpunit path-to-your-test
解决方案 22:
对于anaconda3
安装,要添加的路径是:
%USERPROFILE%anaconda3\n%USERPROFILE%anaconda3Scripts\n%USERPROFILE%anaconda3Libraryin\n
解决方案 23:
如果你对设置python的路径感到沮丧,只需下载新版本的python,卸载旧版本的python,然后在安装新版本时,它会询问是否设置路径,标记并安装
这是最好的方法