在Windows7上添加Python路径

在Windows7上添加Python路径,python,windows,python-2.7,path,Python,Windows,Python 2.7,Path,我一直在尝试将Python路径添加到Windows7上的命令行,但是无论我尝试了什么方法,似乎都没有任何效果。我使用了set命令,尝试通过编辑环境变量提示符等添加它 此外,如果在命令行上运行set命令,它会列出以下内容 python = c:\python27 但它仍然无法识别Python命令 阅读文档和其他各种来源似乎没有什么帮助 编辑:为了进一步澄清,我在编辑环境提示符中将Python可执行文件的路径附加到path中。似乎不起作用。您可以使用path=命令从当前cmd窗口设置路径。这将仅为

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

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

python = c:\python27
但它仍然无法识别Python命令

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


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

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

您将转到cmd实例,并放入
PATH=C:/Python27/;%路径%

  • 按住Win并按暂停
  • 单击高级系统设置
  • 单击环境变量
  • 追加
    ;C:\python27
    路径
    变量
  • 重新启动命令提示符

  • 我对这个问题已经有很长一段时间了。我用我能想到的任何方法将它添加到我的路径中,但以下是最终对我有效的方法:

  • 右键单击“我的电脑”
  • 单击“属性”
  • 单击侧面板中的“高级系统设置”
  • 单击“环境变量”
  • 单击系统变量下方的“新建”
  • 在名称中输入
    pythonexe
    (或任何您想要的内容)
  • 在值中输入python的路径(例如:
    C:\Python32\
  • 现在编辑Path变量(在系统部分)并添加
    %pythonexe%到已有内容的结尾
  • IDK为什么这样做对我有效

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


    编辑:


    最近我一直在用它,看起来效果很好。还有一个看起来也不错的,尽管我从未尝试过。

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

    好: 古老的古老的古老的新的

    坏的:
    古老的古老的古老的新建

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

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

  • 杀死并重新打开shell窗口:一旦对环境变量进行了更改,就必须重新启动正在测试它的窗口
  • 设置变量时无空格。确保您正在添加
    ;C:\Python27
    不带空格。(通常尝试
    C:\somether;C:\Python27
    该空间(␣) 在分号后面是不正确的。)
  • 在拼写完整路径时使用反斜杠。尝试
    echo$path
    时会看到正斜杠,但只有反斜杠对我有效
  • 不要添加最后一个反斜杠。仅
    C:\Python27
    NOT
    C:\Python27\

  • 希望这对某人有所帮助。

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

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

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

    变量名:路径
    变量值:C:\Python27

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

    如果要设置特定的完整路径,最好创建一个类似以下小文件的批处理文件:

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

    调用它“compiler.bat”或其他名称,然后双击启动它。或者链接到它。或者锁定它等等。

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

    python.bat

    @C:\Python27\python.exe %*
    
    资料来源:


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

    setx路径“%path”;C:\Python27


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

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


    完成后

    以下程序将向您的环境添加python可执行文件路径和subdir脚本(即安装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)
    

    这个问题很老了,但我刚刚遇到了一个类似的问题,我的特定解决方案没有列出
    c:\python27\tools\scripts\win_add2path.py
    
    C:\>echo %PYTHONPATH%
    C:\python27;c:\python27\lib;C:\python27\scripts
    
    set Path=%path%
    
    set Path=C:/Python27
    
    C:\Users\alber\AppData\Local\Programs\Python\Python39\
    
    C:\Users\alber\AppData\Local\Programs\Python\Python39\Scripts\
    
    C:\Users\username> cd C:\bin
    C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
    
    phpunit path-to-your-test