在Windows 7上添加Python路径

rog*_*utz 137 python windows path python-2.7

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

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

python = c:\python27
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:为了进一步澄清,我在编辑环境提示符中将Python可执行文件的路径附加到PATH.似乎没有用.

mel*_*iny 264

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

  • 这样做之后你重新启动了命令行吗? (21认同)
  • 确保python和path变量中没有任何空格. (11认同)
  • 在许多情况下,您还必须在设置Path变量后注销并重新登录. (5认同)
  • @rogerklutz:只需确保将"; C:\ python27"添加到已存在的PATH变量中,而不是创建一个以"C:\ python27"作为值的新变量. (4认同)
  • 是的,我已经做到了.对不起,如果我没有在原来的问题中更清楚 (2认同)

Ram*_*han 111

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

注意这些可能的错误:

  1. 杀死并重新打开shell窗口:对环境变量进行更改后,必须重新启动正在测试它的窗口.
  2. 设置变量时没有空格.确保添加;C:\Python27WITHOUT任何空格.(C:\SomeOther; C:\Python27在分号不合适之后尝试那个空格(␣)是很常见的.)
  3. 拼写出你的完整路径时使用后退SLASH.当你尝试时你会看到正斜杠,echo $PATH但只有反向斜杠对我有效.
  4. 不要添加最后的反斜杠.只有C:\Python27C:\Python27\

希望这有助于某人.

  • 我没有发现尾随反弹是有问题的.我错过了什么吗? (2认同)

小智 51

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

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

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

  • + 1-这使您可以添加到路径而无需管理员权限.但是,我不确定%path%是否需要.在我的Windows 7系统上,新的cmd窗口现在有两个以前路径的副本. (3认同)

Jus*_*age 32

我很久没遇到这个问题了.我以我能想到的各种方式将它添加到我的路径中,但这里最终对我有用:

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

IDK为什么会这样,但它确实适合我.

然后尝试在命令行中键入"python",它应该工作!


编辑:

最近我一直在使用这个似乎运作良好的程序.虽然我从来没有尝试过,但也有一个看起来相当不错的.


Kar*_*tik 16

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

python.bat

@C:\Python27\python.exe %*
Run Code Online (Sandbox Code Playgroud)

资源:

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


Ani*_*han 14

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

你会转到你的cmd实例,然后输入PATH=C:/Python27/;%PATH%.


Mik*_*ras 11

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

好的:老的;老的;老的;新的

坏:老;老;老; 新


Udi*_*Udi 9

Python附带了一个小实用程序.从命令行运行:

c:\python27\tools\scripts\win_add2path.py
Run Code Online (Sandbox Code Playgroud)

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


Ant*_*hon 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.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)
Run Code Online (Sandbox Code Playgroud)


car*_*one 6

我知道这篇文章已经过时了,但我想补充一点,解决方案假设是管理员权限.如果你没有那些你可以:

转到控制面板,键入路径(现在这是Windows 7,以便在搜索框中),然后单击"为您的帐户编辑环境变量".现在,您将看到顶部的"用户变量"和下面的"系统变量"的"环境变量"对话框.

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

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

(无任何空格)并单击"确定".重新启动命令提示符后,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
Run Code Online (Sandbox Code Playgroud)

称之为"compiler.bat"或其他,然后双击启动它.或链接到它.或者固定它等等......


Avi*_*wal 6

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

它完成了


And*_*röm 5

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