Menambahkan Jalur Python di Windows 7

138

Saya sudah mencoba menambahkan jalur Python ke baris perintah pada Windows 7, namun tidak peduli metode yang saya coba, sepertinya tidak ada yang berhasil. Saya telah menggunakan setperintah, saya sudah mencoba menambahkannya melalui Edit variabel Lingkungan prompt dll.

Lebih jauh lagi jika saya menjalankan perintah yang ditetapkan pada baris perintah itu daftar ini

python = c:\python27

Namun itu masih tidak mengenali perintah Python.

Membaca dokumentasi, dan berbagai sumber lain sepertinya tidak membantu.

Sunting: Hanya untuk memperjelas lebih lanjut, saya telah menambahkan jalur dari Python yang dapat dieksekusi ke PATH di edit lingkungan prompt. Sepertinya tidak berhasil.

rogerklutz
sumber
Apakah executable terletak di dalam direktori itu? Apakah tidak ada direktori bin di dalamnya?
Anirudh Ramanathan
@ anirudh4444 Tidak, ada di direktori itu ...
rogerklutz
Anda bisa mendapatkan keduanya GUIdan Command Lineopsi dari sini stackoverflow.com/a/38141751/5409601
Rafayet Ullah
Meskipun tidak berlaku untuk Anda, dengan Penginstal Windows Python 3.6 (dan versi yang mungkin lebih awal) Anda dapat memilih untuk "Kustomisasi" instalasi Anda dan ada kotak centang untuk menambahkan Python ke jalur Anda.
paulhauner

Jawaban:

266
  1. Tahan Windan tekan Pause.
  2. Klik Pengaturan Sistem Lanjut.
  3. Klik Variabel Lingkungan.
  4. Tambahkan ;C:\python27ke Pathvariabel.
  5. Mulai ulang Prompt Perintah.
melhosseiny
sumber
2
Ya, saya sudah melakukan itu. Maaf jika saya tidak memperjelas pertanyaan aslinya
rogerklutz
11
Pastikan Anda tidak memiliki spasi di variabel python dan path Anda.
Yossi
4
@rogerklutz: Pastikan Anda menambahkan "; C: \ python27" ke variabel PATH yang sudah ada, dan tidak membuat variabel baru dengan "C: \ python27" sebagai nilainya.
wassimans
5
Dalam banyak kasus, Anda juga harus keluar dan masuk setelah menetapkan variabel Path.
dk123
Menderita masalah yang sama, telah melakukan segalanya kecuali langkah 5 ... Terima kasih telah memasukkan itu.
ReiMasuro
112

Saat mengatur Variabel Lingkungan di Windows, saya salah dalam banyak kesempatan. Saya pikir saya harus berbagi beberapa kesalahan masa lalu saya di sini berharap itu bisa membantu seseorang. (Ini berlaku untuk semua Variabel Lingkungan, tidak hanya ketika mengatur Python Path)

Waspadai kemungkinan kesalahan ini:

  1. Bunuh dan buka kembali jendela shell Anda: Setelah Anda membuat perubahan ke Variabel LINGKUNGAN, Anda harus me - restart jendela tempat Anda mengujinya.
  2. TANPA RUANG saat mengatur Variabel. Pastikan Anda menambahkan ;C:\Python27TANPA spasi apa pun. (Adalah umum untuk mencoba C:\SomeOther; C:\Python27ruang itu (␣) setelah titik koma tidak baik-baik saja.)
  3. GUNAKAN SLASH BACKWARD saat mengeja jalur lengkap Anda. Anda akan melihat garis miring ke depan saat Anda mencoba echo $PATHtetapi hanya garis miring ke belakang yang berhasil bagi saya.
  4. JANGAN TAMBAH backslash final . Hanya C:\Python27TIDAKC:\Python27\

Semoga ini bisa membantu seseorang.

Ram Narasimhan
sumber
1
Alasan saya memilih jawaban ini adalah bahwa sebagian besar waktu PATH rusak karena salah satu dari 4 hal ini. Bagian yang mudah adalah melakukannya dengan benar, bagian yang sulit adalah memperhatikan ketika Anda melakukannya dengan salah!
grettke
1
Perintah echo $pathini hanya valid jika Anda menjalankan bash shell di bawah windows (mis. MinGW). Perintah command prompt windows adalahecho %path%
Bruce Peterson
2
Saya belum menemukan trailing backlash yang bermasalah. Apakah saya melewatkan sesuatu?
mystrdat
51

Buka cmd .exe dengan hak administrator (klik kanan pada aplikasi). Kemudian ketik:

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

Ingatlah untuk mengakhiri dengan titik koma dan jangan menyertakan garis miring.

kenichi
sumber
3
+ 1- Ini memungkinkan Anda menambahkan ke jalur tanpa memerlukan hak admin. Namun, saya tidak yakin% path% diperlukan. Pada sistem Windows 7 saya, windows cmd baru sekarang memiliki dua salinan dari jalur sebelumnya.
Paul Lynch
32

Saya punya masalah dengan ini untuk waktu yang lama. Saya menambahkannya ke jalur saya dengan segala cara yang dapat saya pikirkan tetapi inilah yang akhirnya berhasil bagi saya:

  1. Klik kanan pada "Komputer saya"
  2. Klik "Properti"
  3. Klik "Pengaturan sistem lanjutan" di panel samping
  4. Klik "Variabel Lingkungan"
  5. Klik "Baru" di bawah variabel sistem
  6. di masukkan namapythonexe (atau apa pun yang Anda inginkan)
  7. nilai masukkan path ke python Anda (misalnya: C:\Python32\)
  8. Sekarang edit variabel Path (di bagian sistem) dan tambahkan %pythonexe%;ke akhir apa yang sudah ada

IDK mengapa ini berhasil tetapi itu berhasil untuk saya.

lalu coba ketikkan "python" ke dalam baris perintah Anda dan itu akan berhasil!


Edit:

Akhir-akhir ini saya telah menggunakan program ini yang tampaknya bekerja dengan cukup baik. Ada juga ini salah satu yang terlihat cukup bagus, meskipun saya belum pernah mencobanya.

JustGage
sumber
14

Anda dapat mengatur jalur dari jendela cmd saat ini menggunakan PATH =perintah. Itu hanya akan menambahkannya untuk contoh cmd saat ini. jika Anda ingin menambahkannya secara permanen, Anda harus menambahkannya ke variabel sistem. (Komputer> Pengaturan Sistem Lanjut> Variabel Lingkungan)

Anda akan mengambil contoh cmd Anda, dan dimasukkan ke dalam PATH=C:/Python27/;%PATH%.

Anirudh Ramanathan
sumber
Solusi ini bekerja untuk saya di Win7 Pro. Diuji dengan echo %PATH~%.
Igor
11

Pastikan Anda tidak menambahkan spasi sebelum direktori baru.

Baik: lama; lama; lama; baru

Buruk: tua; tua; tua; baru

Mike Pateras
sumber
9

Python hadir dengan utilitas kecil yang melakukan hal ini . Dari jalankan baris perintah:

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

Pastikan Anda menutup jendela perintah (dengan exitatau tombol tutup) dan membukanya lagi.

Udi
sumber
1
Bagi saya, itu memang mengubah register tetapi tidak ada aplikasi akan terpengaruh sampai Anda secara manual mengkonfirmasi perubahan melalui dialog GUI std. Restart aplikasi tidak membantu. Sepertinya semacam penyiaran juga diperlukan.
Pavel Vlasov
Ini bekerja untuk saya pada 8.1 dan tampaknya lebih mudah daripada pendekatan lain. Sebuah jendela / kotak terbuka dan menanyakan apa yang ingin Anda jalankan. Pilih Other, lalu navigasikan kembali ke c: \ python27 dan pilih python executable (.exe). Efeknya tampaknya permanen sehingga Anda hanya perlu melakukannya sekali. Anda harus menjalankan win_add2path.py untuk setiap pengguna tetapi Anda tidak mendapatkan kotaknya setelah pertama kali.
user2099484
8

Program berikut akan menambahkan jalur python executable dan Script subdir (yang merupakan tempat misal pip dan easy_install diinstal) ke lingkungan Anda. Ia menemukan path ke python dieksekusi dari kunci registri yang mengikat ekstensi .py. Ini akan menghapus jalur python lama di lingkungan Anda. Bekerja dengan XP (dan mungkin Vista) juga. Itu hanya menggunakan modul yang datang dengan installer windows dasar.

# 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)
Anthon
sumber
Ini menghancurkan PATH saya. Ini adalah versi yang telah diperbaiki (saya juga menghapus remove_old, yang tidak mungkin * untuk diperbaiki ): gist.github.com/anonymous/fb5d176ab91dccbd0ebd * ya
Aur Saraf
6

Saya tahu posting ini sudah lama tetapi saya ingin menambahkan bahwa solusi mengasumsikan admin privs. Jika Anda tidak memilikinya, Anda dapat:

Buka panel kontrol, ketik lintasan (ini adalah Windows 7 sekarang sehingga ada di kotak Pencarian) dan klik "Edit variabel Lingkungan untuk akun Anda". Anda sekarang akan melihat dialog Variabel Lingkungan dengan "Variabel pengguna" di atas dan "Variabel sistem" di bawah.

Anda dapat, sebagai pengguna, mengklik tombol "Baru" atas dan menambahkan:

Nama variabel: PATH
Nilai variabel: C: \ Python27

(tidak ada spasi di mana saja) dan klik OK. Setelah prompt perintah Anda dimulai kembali, PATH apa pun dalam variabel Pengguna ditambahkan ke akhir System Path. Itu tidak menggantikan PATH dengan cara lain apa pun.

Jika Anda ingin path lengkap khusus disiapkan, Anda lebih baik membuat file batch seperti ini:

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

Sebut saja "compiler.bat" atau apa pun dan klik dua kali untuk memulainya. Atau tautan ke sana. Atau sematkan dll ...

mengukir
sumber
6

Anda perlu membuat perubahan dalam variabel sistem Anda
- Klik kanan pada "Komputer saya"
- Klik "Properti"
- Klik "Pengaturan sistem lanjutan" di panel samping
- Klik Variabel Lingkungan - Anda akan dua bagian pengguna variabel dan variabel sistem
- Di bawah bagian variabel sistem mencari variabel 'Path' klik pada edit dan tambahkan
"C:\Python27;"(tanpa tanda kutip) simpan
- Sekarang buka baris perintah ketik 'path' tekan enter Anda akan melihat variabel path telah dimodifikasi
- Sekarang ketik python --versionAnda akan melihat versi python

Dan itu dilakukan

Avinash Agrawal
sumber
5

Bagi siapa pun yang mencoba mencapai ini dengan Python 3.3+, installer Windows sekarang termasuk opsi untuk menambahkan python.exe ke jalur pencarian sistem. Baca lebih lanjut di dokumen .

Andreas Bergström
sumber
1
Ini yang saya gunakan, karena saya kesulitan menemukan jalur instalasi yang tepat. Mulai penginstal, tekan 'Ubah' dan kemudian pada Fitur Opsional, klik berikutnya, lalu centang kotak untuk menambahkan Python ke jalur sistem dan tekan Selesai.
Rishi
4

Bekerja dengan variabel lingkungan Windows selalu merupakan pengalaman yang mengerikan. Baru-baru ini, saya menemukan alat luar biasa bernama Rapid Environment Editor, yang memberikan GUI yang sangat sederhana untuk mengaturnya.

Jika Anda menggunakan cokelat, Anda dapat menginstalnya menggunakan choco install rapidee. Jika tidak, lihat http://www.rapidee.com/en/download

Membaca ulang ini, kedengarannya seperti shill berbayar, tapi aku bersumpah aku tidak! Itu hanya salah satu utilitas paling berguna dalam toolkit saya untuk sementara waktu dan saya terkejut tidak ada yang tahu tentang itu.

Rob H
sumber
3

Jika Python diinstal dengan program lain, seperti ArcGIS 10.1 dalam kasus saya, maka Anda juga harus menyertakan folder tambahan apa pun yang jalur ke python.exe di Variabel Lingkungan Anda.

Jadi Variabel Lingkungan saya terlihat seperti ini:

Variabel sistem> Jalur> tambahkan ;C:\Python27\ArcGIS10.1

geominded
sumber
2

Pertanyaan ini cukup lama, tetapi saya hanya mengalami masalah yang sama dan solusi khusus saya tidak tercantum di sini:

Pastikan Anda tidak memiliki folder di PATH Anda yang tidak ada.

Dalam kasus saya, saya memiliki banyak folder default (Windows, Powershell, Sql Server, dll) dan kemudian kebiasaan C:\binyang biasanya saya gunakan, dan kemudian berbagai tweak lainnya seperti c:\python17, dll. Ternyata prosesor cmd menemukan bahwa c:\bintidak tidak ada dan kemudian berhenti memproses sisa variabel.

Juga, saya tidak tahu bahwa saya akan pernah memperhatikan hal ini tanpa manajer PATH . Itu menyoroti fakta bahwa item itu tidak valid.

Chris Phillips
sumber
2

Saya baru saja menginstal Python 3.3 pada Windows 7 menggunakan opsi "add python to PATH".

Dalam variabel PATH, penginstal secara otomatis menambahkan backslash terakhir : C:\Python33\ dan karena itu tidak berfungsi pada command prompt (saya mencoba menutup / membuka prompt beberapa kali)

Saya menghapus backslash terakhir dan kemudian berhasil:C:\Python33

Terima kasih Ram Narasimhan atas tip Anda # 4!

Arnaud
sumber
2

Saya mengatur variabel lingkungan python saya seperti ini di bawah Win7 64-bit menggunakan cmd.

Saya mengatur variabel PYTHONPATHmelalui variabel lingkungan windows dan ditambahkan %PYTHONPATH%ke PATHvariabel:

...;%PYTHONPATH%

Cmd shell memperluas variabel dengan benar untuk ini:

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

Jangan lupa untuk me-restart shell cmd setelah mengubah PATH.

Michel Lawaty
sumber
0

tulis itu di Command Prompt Anda:

set Path=%path%

Ganti% path% dengan Path dari Folder Python Anda Contoh:

set Path=C:/Python27
Skiller Dz
sumber
-2

Jika Anda merasa frustrasi dengan mengatur jalur untuk python, cukup unduh versi baru dari python untuk menghapus versi lama dari python dan saat menginstal versi baru itu akan menanyakan apakah akan menetapkan tanda jalur itu dan menginstal

ini cara terbaik

Pavan Purohit
sumber