Adăugarea căii Python pe Windows 7 (Programare, Python, Windows, Python 2.7, Calea)

rogerklutz a intrebat.

Am încercat să adaug calea Python la linia de comandă pe Windows 7, dar indiferent de metoda pe care o încerc, nimic nu pare să funcționeze. Am folosit opțiunea set comandă, am încercat să o adaug prin promptul Edit Environment variables etc.

Mai mult decât atât, dacă execut comanda set în linia de comandă, aceasta afișează următorul lucru

python = c:python27

Cu toate acestea, tot nu recunoaște comanda Python.

Citirea documentației și a diferitelor alte surse nu a părut să ajute.

Editare: Doar pentru a clarifica mai mult, am adăugat calea executabilului Python la PATH în promptul de editare a mediului. Nu pare să funcționeze.

Comentarii

  • Se află executabilul în acel director? Nu există vreun director bin în cadrul acestuia? –  > Por Anirudh Ramanathan.
  • @anirudh444444 Nu, este în acel director… –  > Por rogerklutz.
  • Puteți obține ambele GUI și Command Line opțiune de aici stackoverflow.com/a/38141751/5409601 –  > Por Rafayet Ullah.
  • Deși nu este valabil pentru dvs., cu programul de instalare Python 3.6 Windows Installer (și, eventual, versiunile anterioare) puteți alege să „Personalizați” instalarea și există o casetă de selectare pentru a adăuga Python la calea de acces. –  > Por paulhauner.
21 răspunsuri
melhosseiny
  1. Țineți Câștigă și apăsați Pauză.
  2. Faceți clic pe Advanced System Settings (Setări avansate ale sistemului).
  3. Faceți clic pe Variabile de mediu.
  4. Adăugați ;C:python27 la Path variabilă.
  5. Reporniți Command Prompt.

Comentarii

  • Da, am făcut deja asta. Îmi pare rău dacă nu am fost mai clar în întrebarea inițială…  > Por rogerklutz.
  • Asigurați-vă că nu aveți spații în variabilele python și path. –  > Por Yossi.
  • @rogerklutz: Asigură-te că adaugi „;C:python27” la variabila PATH care există deja, și nu creezi o nouă variabilă cu „C:python27” ca valoare. –  > Por wassimans.
  • În multe cazuri, trebuie, de asemenea, să vă deconectați și să vă conectați din nou după ce ați setat variabila Path. –  > Por dk123.
  • Suferind o problemă similară, am făcut totul, cu excepția pasului 5… Vă mulțumim că ați inclus acest lucru. –  > Por ReiMasuro.
Ram Narasimhan

La setarea variabilelor de mediu în Windows, am greșit de foarte multe ori. M-am gândit că ar trebui să împărtășesc aici câteva dintre greșelile mele din trecut, în speranța că ar putea ajuta pe cineva. (Acestea se aplică tuturor variabilelor de mediu, nu doar la setarea Path Python)

Fiți atenți la aceste posibile greșeli:

  1. Opriți și redeschideți fereastra de shell: Odată ce ați făcut o modificare a Variabilelor de mediu, trebuie să să reporniți fereastra pe care o testați.
  2. FĂRĂ SPAȚII atunci când setați variabilele. Asigurați-vă că adăugați ;C:Python27 FĂRĂ spații. (Este obișnuit să încercați C:SomeOther; C:Python27 Acel spațiu (␣) după punctul și virgulă este nu este în regulă).
  3. USE A SLASH ÎNAPOI atunci când scrieți calea completă. Veți vedea bară oblică înainte atunci când veți încerca echo $PATH dar la mine au funcționat doar slash-urile inversate.
  4. NU adăugați o backslash finală. Doar C:Python27 NU C:Python27

Sper că acest lucru ajută pe cineva.

Comentarii

  • Motivul pentru care am ales acest răspuns este acela că, de cele mai multe ori, PATH-ul se întrerupe din cauza unuia dintre aceste 4 lucruri. Partea ușoară este să o faci corect, partea dificilă este să îți dai seama când ai făcut-o incorect! –  > Por grettke.
  • Comanda echo $path este valabilă doar dacă rulați un shell bash sub Windows (de exemplu, MinGW). Comanda din promptul de comandă Windows este echo %path% –  > Por Bruce Peterson.
  • Nu am constatat că backlash-ul de urmărire este problematic. Oare îmi scapă ceva? –  > Por mystrdat.
kenichi

Deschideți cmd.exe cu privilegii de administrator (faceți clic dreapta pe aplicație). Apoi tastați:

setx path „%path%;C:Python27;”

Nu uitați să încheiați cu punct și virgulă și nu includeți o bară oblică finală.

Comentarii

  • +1- Acest lucru vă permite să adăugați la cale fără a avea nevoie de privilegii de administrator. Cu toate acestea, nu sunt sigur că %path% este necesar. Pe sistemul meu Windows 7, noile ferestre cmd au acum două copii ale căilor anterioare. –  > Por Paul Lynch.
  • %path% este vechea dvs. valoare a variabilei de cale, este acolo pentru ca „C:Python27;” să fie adăugată la calea existentă. –  > Por infanterie.
JustGage

Am avut o problemă cu acest lucru pentru o perioadă lungă de timp. Am adăugat-o la calea mea în toate modurile la care m-am putut gândi, dar iată ce a funcționat în cele din urmă pentru mine:

  1. Faceți clic dreapta pe „Computerul meu”
  2. Faceți clic pe „Proprietăți”
  3. Faceți clic pe „Setări avansate ale sistemului” în panoul lateral
  4. Faceți clic pe „Variabile de mediu”
  5. Faceți clic pe „New” (Nou) sub variabilele de sistem
  6. la nume introduceți pythonexe (sau orice doriți)
  7. în valoare introduceți calea de acces la python (exemplu: C:Python32)
  8. Acum editați variabila Path (în partea de sistem) și adăugați %pythonexe%; la finalul a ceea ce este deja acolo

IDK de ce funcționează acest lucru, dar pentru mine a funcționat.

apoi încercați să tastați „python” în linia de comandă și ar trebui să funcționeze!


Editați:

În ultima vreme am folosit acest program care pare să funcționeze destul de bine. Există, de asemenea, și acesta care pare și el destul de bun, deși nu l-am încercat niciodată.

Kartik

Încearcă să adaugi asta python.bat fișier la System32 folder și linia de comandă va rula acum python atunci când veți tasta python

python.bat

@C:Python27python.exe %*

Sursă:

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

Anirudh Ramanathan

Puteți seta calea din fereastra cmd curentă folosind opțiunea PATH = comandă. Aceasta o va adăuga doar pentru instanța cmd curentă. dacă doriți să o adăugați permanent, ar trebui să o adăugați la variabilele de sistem. (Computer > Setări avansate ale sistemului > Variabile de mediu)

Ar trebui să mergeți la instanța cmd și să puneți în PATH=C:/Python27/;%PATH%.

Comentarii

  • Această soluție a funcționat pentru mine pe Win7 Pro . Testat cu echo %PATH~%. –  > Por Igor.
Mike Pateras

Asigurați-vă că nu adăugați un spațiu înaintea noului director.

Bun:vechi;vechi;vechi;vechi;nou

Rău:vechi;vechi;vechi;vechi; nou

Udi

Python vine cu un mic utilitar care face exact acest lucru. Din linia de comandă rulați:

c:python27toolsscriptswin_add2path.py

Asigurați-vă că ați închis fereastra de comandă (cu exit sau cu butonul de închidere) și deschideți-o din nou.

Comentarii

  • În ceea ce mă privește, acesta modifică registrul, dar nici o aplicație nu va fi afectată până când nu confirmați manual modificările prin intermediul dialogului GUI standard. Repornirea unei aplicații nu ajută. Se pare că este nevoie și de un fel de difuzare. –  > Por Pavel Vlasov.
  • Acest lucru a funcționat pentru mine pe 8.1 și pare mai ușor decât alte abordări. Se deschide o fereastră/căsuță și te întreabă ce vrei să rulezi. Selectați Alt și apoi navigați înapoi la c:python27 și alegeți executabilul python (.exe). Efectul pare să fie permanent, astfel încât trebuie să faceți asta doar o singură dată. Va trebui să rulați win_add2path.py pentru fiecare utilizator, dar nu veți mai primi caseta după prima dată. –  > Por user2099484.
Anthon

Următorul program va adăuga calea executabilă python și subdirul Scripts (care este locul unde sunt instalate, de exemplu, pip și easy_install) în mediul dvs. de lucru. Acesta găsește calea către executabilul python din cheia de registru care leagă extensia .py. Va elimina căile vechi de acces la python din mediul dumneavoastră. Funcționează și cu XP (și probabil și cu Vista).Folosește numai modulele care vin cu programul de instalare de bază pentru 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 
               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)

Comentarii

carveone

Știu că această postare este veche, dar aș dori să adaug că soluțiile presupun privilegii de administrator. Dacă nu le aveți pe acelea, puteți:

Mergeți la panoul de control, tastați calea (acum este Windows 7, deci este în caseta de căutare) și faceți clic pe „Editați variabilele de mediu pentru contul dvs.”. Acum veți vedea fereastra de dialog „Environment Variable” cu „User variables” în partea de sus și „System variables” mai jos.

În calitate de utilizator, puteți face clic pe butonul de sus „New” (Nou) și adăugați:

Numele variabilei: PATH
Valoarea variabilei: C:Python27

(fără spații nicăieri) și faceți clic pe OK. După ce promptul de comandă este repornit, orice PATH din variabilele User este adăugat la la sfârșitul Căii sistemului. Aceasta nu înlocuiește PATH în niciun alt mod.

Dacă doriți să configurați o cale completă specifică, este mai bine să creați un fișier batch ca acesta micuț:

@echo off
PATH C:UserMeProgramsmingwbin;C:UserMePrograms;C:Windowssystem32
title Compiler Environment - %Username%@%Computername%
cmd

Numiți-l „compiler.bat” sau orice altceva și faceți dublu clic pentru a-l lansa. Sau creați un link către el. Sau fixați-l etc…

Avinash Agrawal

Trebuie să faceți modificări în variabila de sistem
— Faceți clic dreapta pe „Computerul meu”
— Faceți clic pe „Proprietăți”
— Faceți clic pe „Setări avansate ale sistemului” în panoul lateral
— Faceți clic pe Variabila de mediu — Veți avea două secțiuni: variabila de utilizator și variabila de sistem.
— În secțiunea variabile de sistem căutați variabila „Path”, faceți clic pe „Edit” și adăugați-o.
"C:Python27;" (fără ghilimele) salvați-o
— Acum, deschideți linia de comandă, tastați „path” și apăsați enter Veți vedea că variabila „path” a fost modificată.
— Acum tastați python --version veți vedea versiunea python

Și s-a terminat.

Andreas Bergström

Pentru oricine încearcă să realizeze acest lucru cu Python 3.3+, programul de instalare pentru Windows include acum o opțiune pentru a adăuga python.exe la calea de căutare a sistemului. Citiți mai multe în documentația.

Comentarii

  • Aceasta este ceea ce am folosit eu, deoarece aveam probleme în a găsi calea exactă de instalare. Porniți programul de instalare, apăsați „Modify” și apoi pe Optional Features, faceți clic pe next, apoi bifați caseta pentru a adăuga Python la calea de căutare a sistemului și apăsați Finish. –  > Por Rishi.
Rob H

Lucrul cu variabilele de mediu Windows este întotdeauna o experiență oribilă. Recent, am găsit un instrument uimitor numit Rapid Environment Editor, care oferă o interfață grafică extraordinar de simplă pentru gestionarea acestora.

Dacă folosiți chocolatey, îl puteți instala folosind choco install rapidee. În caz contrar, aruncați o privire la http://www.rapidee.com/en/download

Reluând aceste rânduri, sună ca un shill plătit, dar jur că nu sunt! Pur și simplu a fost unul dintre cele mai utile utilități din setul meu de instrumente de ceva vreme și sunt surprins că nimeni nu pare să știe despre el.

geominded

Dacă Python a fost instalat împreună cu un alt program, cum ar fi ArcGIS 10.1 în cazul meu, atunci trebuie să includeți în variabilele de mediu și toate folderele suplimentare care se îndreaptă către python.exe.

Deci, Variabilele mele de mediu arată astfel:

Variabile de sistem > Path > add ;C:Python27ArcGIS10.1

Chris Phillips

Această întrebare este destul de veche, dar tocmai am dat peste o problemă similară și soluția mea particulară nu a fost listată aici:

Asigurați-vă că nu aveți un folder în PATH care nu există.

În cazul meu, aveam o grămadă de foldere implicite (Windows, Powershell, Sql Server etc.) și apoi un folder personalizat. C:bin pe care îl folosesc de obicei, iar apoi diverse alte modificări, cum ar fi c:python17, , etc. Se pare că procesorul cmd găsea că c:bin nu exista și apoi se oprea din procesarea restului variabilei.

De asemenea, nu știu dacă aș fi observat vreodată acest lucru fără PATH manager. Acesta a evidențiat frumos faptul că acel element era invalid.

Arnaud

Tocmai am instalat Python 3.3 pe Windows 7 folosind opțiunea „add python to PATH”.

În variabila PATH, programul de instalare a adăugat automat un element backslash final: C:Python33și astfel nu a funcționat pe promptul de comandă (am încercat să închid/deschid promptul de mai multe ori)

Am eliminat backslash-ul final și apoi a funcționat: C:Python33

Mulțumesc Ram Narasimhan pentru sfatul dvs. nr. 4!

Michel Lawaty

Mi-am organizat variabila de mediu python astfel sub Win7 64 de biți folosind cmd.

Am setat variabila PYTHONPATH prin meniul variabilelor de mediu din Windows și am adăugat %PYTHONPATH% la PATH variabilă:

...;%PYTHONPATH%

Shell-ul cmd extinde corect variabila astfel:

C:>echo %PYTHONPATH%
C:python27;c:python27lib;C:python27scripts

Nu uitați să reporniți cmd shell după modificarea PATH.

Skiller Dz

scrieți acest lucru în Command Prompt:

set Path=%path%

Înlocuiți %path% cu Calea de acces a folderului Python Exemplu:

set Path=C:/Python27

Raikish

Pentru persoanele care primesc fereastra windows store atunci când scriu python în consolă, tot ce trebuie să faceți este să mergeți la configuration -> Manage app execution aliases și să dezactivați comutatoarele care spun python.

apoi, adăugați următoarele foldere la PATH.

C:UsersalberAppDataLocalProgramsPythonPython39
C:UsersalberAppDataLocalProgramsPythonPython39Scripts

Tim Long

Dacă sunteți pe Windows, rulați acest lucru:

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

Asigurați-vă că ați instalat phpuunit, așa cum se menționează aici: https://phpunit.de/manual/6.5/en/installation.html

Apoi:

phpunit path-to-your-test

Pavan Purohit

Dacă v-ați frustrat prin setarea căii pentru python, descărcați noua versiune de python, dezinstalați versiunea mai veche de python și, în timp ce instalați noua versiune, vă va întreba dacă doriți să setați calea de acces, marcați-o și instalați-o.

aceasta este cea mai bună metodă.