Làm cách nào để tìm Python được cài đặt trên Windows?


169

Tôi muốn tìm hiểu đường dẫn cài đặt Python của tôi trên Windows. Ví dụ:

C:\Python25

Làm thế nào tôi có thể tìm thấy nơi Python được cài đặt?


Bạn nên cung cấp thêm thông tin. Bạn biết rằng Python đã được cài đặt, nhưng bạn có thể chạy Python hay không? Trong trường hợp của tôi, tôi đã không cài đặt nó; nhiều sản phẩm khác nhau có thể đã cài đặt nó và tôi muốn tìm hiểu xem nó có tồn tại ở đâu đó trong hệ thống tập tin không. Trình thông dịch sẽ được gọi là python.exe? Tôi không có ý kiến.
David Spector

Câu trả lời:


337

Trong trình thông dịch Python của bạn, nhập các lệnh sau:

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

Điều gì nếu bạn đang ở trong một virtualenv? Điều này sẽ không làm việc sau đó.
dùng60561

1
@ user60561 Nó sẽ cung cấp cho bạn đường dẫn đến tệp thực thi Python của Virtualenv. Tôi không biết cách lấy python của hệ điều hành, trong trường hợp đó, nhưng tôi muốn biết tại sao bạn cần điều đó, nếu bạn đang chạy từ trong Virtualenv?
elo80ka

Kịch bản của tôi tạo một virtualenv, vì vậy nó sử dụng python hệ thống để làm điều đó. Mặc dù vậy, bạn đã khiến tôi suy nghĩ, có lẽ điều đó không cần thiết. Tôi sẽ kiểm tra nó vào thứ Hai, cảm ơn bạn!
dùng60561

Lỗi: "C: \ WINDOWS \ system32> nhập os 'import' không được nhận dạng dưới dạng lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó."
David Spector

@David Spector: Xấu của tôi. Tôi nên lưu ý rằng bạn phải nhập các lệnh đó trong trình thông dịch Python, tôi sẽ cập nhật câu trả lời :-)
elo80ka

63

Nếu bạn có python trong biến môi trường thì bạn có thể sử dụng lệnh sau trong cmd:

>>> trăn ở đâu

hoặc cho môi trường unixoment

>>> con trăn nào

hình ảnh dòng lệnh


Câu trả lời này tốt hơn bởi vì nó không liên quan đến việc tạo và thực thi một tập lệnh, và nó đơn giản hơn nhiều. +1
applemonkey496

54

Nó sẽ là một trong những

  • C: \ Python36
  • C: \ Users \ (Người dùng đã đăng nhập của bạn) \ AppData \ Local \ Programs \ Python \ Python36

2
con đường trăn của tôi 3.6 trên win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang

6
Đường dẫn Python có thể được tùy chỉnh tự do trong quá trình cài đặt. Tôi đã có một số máy thậm chí không ac: \ drive. Ngoài ra, dữ liệu ứng dụng cục bộ không nhất thiết phải theo C:\Users.
Matteo Italia

49

Nếu bạn cần biết đường dẫn đã cài đặt trong Windows mà không cần khởi động trình thông dịch python, hãy xem Windows registry.

Mỗi phiên bản Python được cài đặt sẽ có một khóa đăng ký:

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

Trong Windows 64 bit, nó sẽ nằm dưới Wow6432Nodekhóa:

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

điều này dường như là sai trên windows 7, ít nhất là đối với python 2.7
Sharkin

Thông tin nằm ở đâu trên windows 7? Nếu bạn có một máy tính Windows 7 tiện dụng, bạn có thể thực hiện tìm kiếm đăng ký cho Python và PythonCore không? Và xem nếu bạn tìm thấy một giá trị InstallPath ở đâu đó.
codeape

7
Trong các phiên bản 64 bit của windows (mà bạn có thể đang sử dụng), nó sẽ nằm dưới khóa Wow6432Node, IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ versionnumber \ InstallPath
piksel bitworks

Vui lòng cập nhật câu trả lời của bạn với bình luận của 'piksel bitworks. Nó làm việc cho tôi.
dinesh ygv

1
Đó là một cách hay nhưng để sử dụng nó, người ta cần biết phiên bản python hiện tại. Tôi vẫn đang tìm kiếm một cách tốt để phát hiện đường dẫn python để sử dụng với trình cài đặt nsis.
PerryWerneck

13

Khi cài đặt windows, tôi nhận được các kết quả sau:

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

(Bạn cũng có thể tìm kiếm sys.pathcác vị trí hợp lý.)


nhưng làm thế nào chúng ta có thể làm tương tự bằng cách sử dụng tệp bó?
Patrick

@Patrick Tôi nghĩ python -c "import sys; print(sys.executable)"sẽ hoạt động
wjandrea

8

Trong sysgói, bạn có thể tìm thấy rất nhiều thông tin hữu ích về cài đặt của mình:

import sys
print sys.executable
print sys.exec_prefix

Tôi không chắc những gì sẽ cung cấp cho hệ thống Windows của bạn, nhưng trên máy Mac của tôi executabletrỏ đến tệp nhị phân Python và exec_prefixgốc cài đặt.

Bạn cũng có thể thử điều này để kiểm tra sysmô-đun của mình :

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

@GuoH chúng ta có thể làm tương tự bằng cách sử dụng tệp bó không?
Patrick

Bạn có thể làm một cái gì đó nhưpython -c "import sys; print sys.executable"
Guðmundur H

7

Nếu bạn muốn đường dẫn Sau khi cài đặt thành công, trước tiên hãy mở CMD và nhập python hoặc python -i

Nó sẽ mở vỏ tương tác cho bạn và sau đó gõ

nhập khẩu hệ thống

sys.executable

Nhấn enter và bạn sẽ nhận được đường dẫn nơi con trăn của bạn được cài đặt ...


Vấn đề tôi gặp phải với giải pháp này là tôi đang chạy python 2.7 và muốn nâng cấp lên 3.6. Tôi đã cài đặt 3.6 nhưng khi tôi gõ python trên dòng lệnh tôi vẫn chạy từ 2.7 cũ.
tzg


5

Bạn có thể tìm kiếm "biến môi trường cho tài khoản của bạn". Nếu bạn đã thêm Python vào đường dẫn, nó sẽ hiển thị dưới dạng "đường dẫn" trong tài khoản biến môi trường của bạn.

nhưng hầu như luôn luôn bạn sẽ tìm thấy nó trong " C: \ Users \% User_name% \ AppData \ Local \ Programs \ Python \ Python_version "

của AppData thư mục 'có thể được ẩn, làm cho nó có thể nhìn thấy từ cái nhìn phần của thanh công cụ .


4

Để biết Python được cài đặt ở đâu, bạn có thể thực thi where pythontrong cmd.exe.


(Bài đăng này dường như không cung cấp câu trả lời cho câu hỏi. Vui lòng chỉnh sửa câu trả lời của bạn hoặc chỉ đăng nó dưới dạng nhận xét cho câu hỏi).
sɐunıɔ qɐp

2
@ sɐunıɔ qɐp Đây thực sự là một câu trả lời và thậm chí có thể đúng. Tôi không rành lắm về Windows, nhưng thực tế có một wherelệnh được cho là tương tự như whichtrên Unix.
othernode

@anothernode: Chất lượng câu trả lời rất tệ. Trong trường hợp bạn hiểu những gì tác giả đang cố gắng nói, bạn có thể tự do chỉnh sửa và sửa nó.
sunıɔ qɐp

1
chất lượng câu trả lời không tệ, chất lượng câu hỏi là. Tôi có thể xác nhận where pythonhoạt động trên cmd.exe
Kay

3

Nếu bất cứ ai cần làm điều này trong C # tôi đang sử dụng mã sau đây:

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
Cả HKCU và HKLM đều không tồn tại đối với hầu hết người dùng? Điều này dường như bỏ lỡ các trường hợp python được cài đặt trên toàn cầu.
jtbr

Có vẻ như tôi đã tạo ra một lỗi ở đó.
Peter

2

Truy cập C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36 nếu không có thì hãy mở giao diện điều khiển bằng windows + ^ R Sau đó nhập cmd và nhấn enter python nếu được cài đặt trong tệp cục bộ của bạn, nó sẽ hiển thị cho bạn phiên bản của nó từ đó nhập os nhập sau đây sys os.path.dirname (sys.executable)


2

Nếu bạn đã pycài đặt lệnh mà bạn có thể làm, thì chỉ cần sử dụng --list-pathsđối số cho lệnh:

py --list-paths

Ví dụ đầu ra:

Đã cài đặt Pythons được tìm thấy bởi py Launcher cho Windows
-3.8-32 C: \ Users \ cscott \ AppData \ Local \ Programs \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

* Cho biết phiên bản hiện đang hoạt động cho các tập lệnh được thực thi bằng pylệnh.


1

Điều này làm việc cho tôi: C:\Users\Your_user_name\AppData\Local\Programs\Python

Tôi hiện đang cài đặt python version3.7.0

Hi vọng điêu nay co ich!


1

Nó nói chung

'C: \ Users \ tên người dùng \ AppData \ Local \ Programs \ Python \ Python-version'

hoặc thử sử dụng (tính bằng cmd)

con trăn ở đâu


0

nếu bạn vẫn bị mắc kẹt hoặc bạn nhận được điều này

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

chỉ cần làm điều này thay thế 2 \ bằng một

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

0

Tôi đã cài đặt 2 và 3 và gặp vấn đề tương tự khi tìm kiếm 3. May mắn thay, gõ đường dẫn ở đường dẫn windows cho phép tôi tìm nơi tôi đã cài đặt nó. Đường dẫn là một tùy chọn khi tôi cài đặt Python mà tôi đã quên. Nếu bạn không chọn cài đặt đường dẫn khi bạn cài đặt Python 3 có thể sẽ không hoạt động - trừ khi bạn cập nhật thủ công đường dẫn khi bạn cài đặt nó. Trong trường hợp của tôi, đó là tại c: \ Program Files \ Python37 \ python.exe


0

Nếu bạn sử dụng anaconda navigatortrên các cửa sổ, bạn cũng có thể đi enviornmentsvà cuộn qua các điều kiện, điều kiện rootsẽ cho biết nơi nó được cài đặt. Nó có thể giúp đỡ nếu bạn muốn sử dụng sự đố kị này khi bạn cần kết nối nó với các ứng dụng khác, nơi bạn muốn tích hợp một số mã python.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.