繁体   English   中英

将 Python 添加到 Windows 上的 PATH

[英]Adding Python to PATH on Windows

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

此外,如果我在命令行上运行 set 命令,它会列出这个。

python = c:\python27

但它仍然无法识别 Python 命令。

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

为了进一步澄清,我在编辑环境提示中将 Python 可执行文件的路径附加到 PATH 中。 似乎不起作用。

  1. 按住Win并按Pause
  2. 单击高级系统设置。
  3. 单击环境变量。
  4. Append ;C:\python27Path变量。
  5. 重新启动命令提示符。

在 Windows 中设置环境变量时,我在很多很多场合都出错了。 我想我应该在这里分享我过去的一些错误,希望它可以帮助某人。 (这些适用于所有环境变量,不仅仅是在设置 Python 路径时)

注意这些可能的错误:

  1. 杀死并重新打开您的 shell window:一旦您更改了环境变量,您必须重新启动您正在测试它的 window。
  2. 设置变量时没有空格 确保添加;C:\Python27没有任何空格。 (通常尝试C:\SomeOther; C:\Python27分号后面的那个空格(␣)是不行的。)
  3. 拼写完整路径时使用反斜杠 当您尝试echo $PATH时,您会看到正斜杠,但只有反斜杠对我有用。
  4. 不要添加最后的反斜杠 只有C:\Python27不是C:\Python27\

希望这可以帮助某人。

使用管理员权限打开cmd .exe(右键单击应用程序)。 然后输入:

setx路径 "%path%;C:\Python27;"

请记住以分号结尾,并且不要包含尾部斜杠。

我有这个问题很长时间了。 我以我能想到的各种方式将它添加到我的路径中,但这是最终对我有用的方法:

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

IDK 为什么这有效,但它对我有用。

然后尝试在命令行中输入“python”,它应该可以工作!


编辑:

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

尝试将此python.bat文件添加到System32文件夹,当您输入 python 时,命令行现在将运行python

python.bat

@C:\Python27\python.exe %*

资源:

https://github.com/KartikTalwar/dotfiles/blob/master/bat/python.bat

您可以使用PATH =命令从当前 cmd window设置路径。 这只会为当前的 cmd 实例添加它。 如果要永久添加它,则应将其添加到系统变量中。 (计算机 > 高级系统设置 > 环境变量)

您将转到您的 cmd 实例,然后输入PATH=C:/Python27/;%PATH%

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

好:旧的;旧的;旧的;新的

坏的:旧的;旧的;旧的; 新的

Python 附带了一个小型实用程序,可以做到这一点 从命令行运行:

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

确保关闭命令 window(带有exit或关闭按钮)并再次打开它。

以下程序会将 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.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)

我知道这篇文章很旧,但我想补充一点,解决方案假定管理员权限。 如果你没有这些,你可以:

Go 到控制面板,输入路径(现在是 Windows 7,所以它在搜索框中),然后单击“为您的帐户编辑环境变量”。 您现在将看到顶部的“用户变量”和下方的“系统变量”的环境变量对话框。

作为用户,您可以单击顶部的“新建”按钮并添加:

变量名: PATH
变量值: C:\Python27

(任何地方都没有空格),然后单击“确定”。 重新启动命令提示符后,用户变量中的任何 PATH 都将附加到系统路径的末尾。 它不会以任何其他方式替换 PATH 。

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

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

将其称为“compiler.bat”或其他名称,然后双击启动它。 或者链接到它。 或者别针之类的...

您需要更改系统变量
-- 右击“我的电脑”
-- 点击“属性”
-- 点击侧面板中的“高级系统设置”
-- 点击环境变量 -- 您将分为用户变量和系统变量两部分
-- 在系统变量部分搜索变量“路径”点击编辑并添加
"C:\Python27;" (不带引号)保存
-- 现在打开命令行类型'path'回车你会看到路径变量已经被修改
-- 现在输入python --version你会看到 python 版本

它完成了

对于任何尝试使用 Python 3.3+ 来实现此目的的人,Windows 安装程序现在包含一个选项,可将 python.exe 添加到系统搜索路径。 文档中阅读更多内容。

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

如果您使用巧克力,您可以使用choco install rapidee安装它。 否则,看看http://www.rapidee.com/en/download

重读这篇文章,这听起来像是一个有偿的骗局,但我发誓我不是。 一段时间以来,它一直是我的工具包中最有用的实用程序之一,我很惊讶似乎没有人知道它。

如果 Python 与另一个程序一起安装,例如我的 ArcGIS 10.1,那么您还必须在环境变量中包含指向 python.exe 的任何额外文件夹。

所以我的环境变量看起来像这样:

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

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

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

In my case, I had a bunch of default folders (Windows, Powershell, Sql Server, etc) and then a custom C:\bin that I typically use, and then various other tweaks like c:\python17 , etc. It turns out cmd 处理器发现c:\bin不存在,然后停止处理变量的 rest。

另外,我不知道如果没有PATH manager我会注意到这一点。 它很好地突出了该项目无效的事实。

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

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

我删除了最后的反斜杠,然后它起作用了: C:\Python33

感谢 Ram Narasimhan 的提示 #4!

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

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

...;%PYTHONPATH%

cmd shell 将变量正确扩展为:

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

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

我的系统是Windows7 32bit,安装了Python 2.7.12(因为pdfminer不支持Python 3.X....T^T)

有同样的问题,我的命令 window 识别单词“python”。

原来在PATH变量中,自动加了一个最后的反斜杠:C:\Python33\(和上面提到的查理一样)

删除反斜杠。 一切正常。

在命令提示符上写下:

set Path=%path%

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

set Path=C:/Python27

For people getting the windows store window when writing python in the console, all you have to do is go to configuration -> Manage app execution aliases and disable the toggles that say 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

确保您已按照此处所述安装了 ppuunit: https://phpunit.de/manual/6.5/en/installation.html

然后:

phpunit path-to-your-test

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

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

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

这是最好的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM