Bagaimana saya bisa menemukan di mana Python diinstal pada Windows?


169

Saya ingin mengetahui jalur instalasi Python saya di Windows. Sebagai contoh:

C:\Python25

Bagaimana saya bisa menemukan di mana Python diinstal?


Anda harus memberi lebih banyak informasi. Anda tahu bahwa Python sudah diinstal, tetapi bisakah Anda menjalankan Python atau tidak? Dalam kasus saya, saya tidak menginstalnya; berbagai produk mungkin telah menginstalnya dan saya ingin mencari tahu apakah ada di suatu tempat di sistem file. Akankah penerjemah disebut python.exe? Saya tidak punya ide.
David Spector

Jawaban:


338

Di juru bahasa Python Anda, ketikkan perintah berikut:

>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python25'

Bagaimana jika Anda berada di dalam virtualenv? Ini tidak akan berhasil kalau begitu.
user60561

1
@ user60561 Ini akan memberi Anda jalan ke Python Virtualenv yang dapat dieksekusi. Saya tidak tahu cara mendapatkan OS python, dalam hal ini, tetapi saya akan tertarik untuk mengetahui mengapa Anda membutuhkannya, jika Anda menjalankan dari dalam Virtualenv?
elo80ka

Script saya membuat virtualenv, jadi ia menggunakan sistem python untuk melakukan itu. Anda membuat saya berpikir, mungkin itu tidak perlu ... Saya akan memeriksanya pada hari Senin, terima kasih!
user60561

Kesalahan: "C: \ WINDOWS \ system32> import os 'import' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan, atau file batch."
David Spector

@ David Spector: Badaku. Saya seharusnya mencatat bahwa Anda harus mengetikkan perintah-perintah itu dalam interpreter Python, saya akan memperbarui jawabannya :-)
elo80ka

63

Jika Anda memiliki python di variabel lingkungan Anda, maka Anda dapat menggunakan perintah berikut dalam cmd:

>>> di mana python

atau untuk lingkungan unix

>>> python mana

gambar baris perintah


Jawaban ini lebih baik karena tidak melibatkan membuat dan menjalankan skrip, dan itu jauh lebih mudah. +1
applemonkey496

54

Itu akan menjadi salah satu dari

  • C: \ Python36
  • C: \ Users \ (Pengguna login Anda) \ AppData \ Local \ Programs \ Python \ Python36

2
jalur python saya 3.6 pada win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang

6
Jalur Python dapat dikustomisasi secara bebas selama instalasi. Saya punya beberapa mesin yang bahkan tidak memiliki ac: \ drive. Selain itu, data aplikasi lokal belum tentu di bawah C:\Users.
Matteo Italia

49

Jika Anda perlu tahu jalur yang diinstal di bawah Windows tanpa memulai interpreter python, lihat di registri Windows.

Setiap versi Python yang terinstal akan memiliki kunci registri di:

  • HKLM\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\versionnumber\InstallPath

Di Windows 64-bit, itu akan berada di bawah Wow6432Nodekunci:

  • HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\versionnumber\InstallPath

ini tampaknya salah di windows 7, setidaknya untuk python 2.7
sharkin

Di mana info berada di windows 7? Jika Anda memiliki komputer Windows 7 yang praktis, dapatkah Anda melakukan pencarian registri untuk Python dan PythonCore? Dan lihat apakah Anda menemukan nilai InstallPath di suatu tempat.
codeape

7
Dalam versi 64-bit windows (yang mungkin Anda gunakan) itu akan berada di bawah tombol Wow6432Node, yaitu HKLM \ PERANGKAT LUNAK \ Wow6432Node \ Python \ PythonCore \ versionnumber \ InstallPath
piksel bitworks

Harap perbarui jawaban Anda dengan komentar 'piksel bitworks. Ini berhasil untuk saya.
dinesh ygv

1
Ini cara yang bagus tetapi untuk menggunakannya kita perlu mengetahui versi python saat ini. Saya masih mencari cara yang baik untuk mendeteksi jalur python untuk digunakan dengan nsis installer.
PerryWerneck

13

Pada instalasi windows saya, saya mendapatkan hasil ini:

>>> import sys
>>> sys.executable
'C:\\Python26\\python.exe'
>>> sys.platform
'win32'
>>>

(Anda juga dapat mencari sys.pathlokasi yang masuk akal.)


tetapi bagaimana kita bisa melakukan hal yang sama menggunakan file batch?
Patrick

@ Patrick Saya pikir python -c "import sys; print(sys.executable)"akan berhasil
wjandrea

8

Dalam syspaket, Anda dapat menemukan banyak informasi berguna tentang instalasi Anda:

import sys
print sys.executable
print sys.exec_prefix

Saya tidak yakin apa ini akan memberikan pada sistem Windows Anda, tetapi pada Mac saya executablemenunjuk ke biner Python dan exec_prefixke akar instalasi.

Anda juga dapat mencoba ini untuk memeriksa sysmodul Anda :

import sys
for k,v in sys.__dict__.items():
    if not callable(v):
        print "%20s: %s" % (k,repr(v))

@ GuHu, bisakah kita melakukan hal yang sama menggunakan file batch?
Patrick

Anda bisa melakukan sesuatu sepertipython -c "import sys; print sys.executable"
Guðmundur H

7

Jika Anda ingin Path Setelah instalasi berhasil maka pertama-tama buka CMD Anda dan ketik python atau python -i

Ini akan membuka shell interaktif untuk Anda dan kemudian ketik

impor sys

sys.executable

Tekan enter dan Anda akan mendapatkan jalan di mana python Anda diinstal ...


Masalah yang saya miliki dengan solusi ini adalah saya menjalankan python 2.7 dan ingin meningkatkan ke 3.6. Saya menginstal 3,6 tetapi ketika saya mengetik python pada baris perintah saya masih menjalankan dari 2,7 yang lama.
tzg


5

Anda dapat mencari "variabel lingkungan untuk akun Anda". Jika Anda telah menambahkan Python di jalur, itu akan ditampilkan sebagai "jalur" di akun variabel lingkungan Anda.

tetapi hampir selalu Anda akan menemukannya di " C: \ Users \% User_name% \ AppData \ Local \ Programs \ Python \ Python_version "

yang ' AppData folder' mungkin tersembunyi, membuatnya terlihat dari tampilan bagian toolbar .


4

Untuk mengetahui di mana Python diinstal, Anda dapat mengeksekusi where pythondi cmd.exe Anda.


(Posting ini sepertinya tidak memberikan jawaban untuk pertanyaan. Harap edit jawaban Anda, atau cukup kirimkan sebagai komentar untuk pertanyaan).
sɐunıɔ ןɐ qɐp

2
@ sɐunıɔ ןɐ qɐp Ini sebenarnya adalah jawaban dan bahkan mungkin benar. Saya tidak terlalu akrab dengan Windows, tetapi sebenarnya ada whereperintah yang seharusnya mirip dengan whichUnix.
anothernode

@ anothernode: Kualitas jawabannya sangat buruk. Jika Anda mengerti apa yang penulis katakan, Anda bebas mengedit dan memperbaikinya.
sɐunıɔ ןɐ qɐp

1
kualitas jawabannya tidak buruk, kualitas pertanyaannya adalah. Saya dapat mengkonfirmasi where pythonkarya pada cmd.exe
Kay

3

Jika ada yang perlu melakukan ini dalam C # Saya menggunakan kode berikut:

static string GetPythonExecutablePath(int major = 3)
{
    var software = "SOFTWARE";
    var key = Registry.CurrentUser.OpenSubKey(software);
    if (key == null)
        key = Registry.LocalMachine.OpenSubKey(software);
    if (key == null)
        return null;

    var pythonCoreKey = key.OpenSubKey(@"Python\PythonCore");
    if (pythonCoreKey == null)
        pythonCoreKey = key.OpenSubKey(@"Wow6432Node\Python\PythonCore");
    if (pythonCoreKey == null)
        return null;

    var pythonVersionRegex = new Regex("^" + major + @"\.(\d+)-(\d+)$");
    var targetVersion = pythonCoreKey.GetSubKeyNames().
                                        Select(n => pythonVersionRegex.Match(n)).
                                        Where(m => m.Success).
                                        OrderByDescending(m => int.Parse(m.Groups[1].Value)).
                                        ThenByDescending(m => int.Parse(m.Groups[2].Value)).
                                        Select(m => m.Groups[0].Value).First();

    var installPathKey = pythonCoreKey.OpenSubKey(targetVersion + @"\InstallPath");
    if (installPathKey == null)
        return null;

    return (string)installPathKey.GetValue("ExecutablePath");
}

1
Bukankah HKCU dan HKLM keduanya ada untuk sebagian besar pengguna? Ini sepertinya akan melewatkan contoh python yang diinstal secara global.
jtbr

Ya sepertinya saya membuat bug di sana.
Peter

2

Pergi ke C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36 jika tidak ada maka buka konsol dengan windows + ^ R Kemudian ketik cmd dan tekan enter ketik python jika diinstal dalam file lokal Anda itu akan menunjukkan kepada Anda versinya dari sana ketik berikut impor os import sys os.path.dirname (sys.executable)


2

Jika Anda memiliki pyperintah yang diinstal, yang kemungkinan Anda lakukan, maka gunakan saja --list-pathsargumen ke perintah:

py --list-paths

Contoh output:

Piton Terinstal yang ditemukan oleh peluncur py untuk Windows
-3.8-32 C: \ Users \ cscott \ AppData \ Local \ Programs \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

Tanda * menunjukkan versi skrip yang saat ini aktif dijalankan menggunakan pyperintah.


1

Ini bekerja untuk saya: C:\Users\Your_user_name\AppData\Local\Programs\Python

Saya saat ini dipasang python versionyaitu3.7.0

Semoga ini membantu!


1

Secara umum

'C: \ Users \ user-name \ AppData \ Local \ Programs \ Python \ Python-version'

atau coba gunakan (dalam cmd)

dimana python


0

jika Anda masih macet atau Anda mendapatkan ini

C:\\\Users\\\name of your\\\AppData\\\Local\\\Programs\\\Python\\\Python36

cukup lakukan ini ganti 2 \ dengan satu

C:\Users\akshay\AppData\Local\Programs\Python\Python36

0

Saya menginstal 2 dan 3 dan memiliki masalah yang sama menemukan 3. Untungnya, mengetikkan path di path windows biarkan saya menemukan di mana saya telah menginstalnya. Path adalah opsi ketika saya menginstal Python yang saya lupa. Jika Anda tidak memilih pengaturan jalur ketika Anda menginstal Python 3 yang mungkin tidak akan berfungsi - kecuali jika Anda memperbarui jalur secara manual saat Anda menginstalnya. Dalam kasus saya itu di c: \ Program Files \ Python37 \ python.exe


0

Jika Anda menggunakan anaconda navigatordi windows, Anda juga bisa pergi enviornmentsdan menggulir ke lingkungan, lingkungan rootakan menunjukkan di mana itu diinstal. Ini dapat membantu jika Anda ingin menggunakan enviorment ini ketika Anda perlu menghubungkan ini ke aplikasi lain, di mana Anda ingin mengintegrasikan beberapa kode python.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.