ฉันจะหาตำแหน่งที่ติดตั้ง Python บน Windows ได้อย่างไร


169

ฉันต้องการค้นหาเส้นทางการติดตั้ง Python บน Windows ตัวอย่างเช่น:

C:\Python25

ฉันจะหาตำแหน่งที่ติดตั้ง Python ได้อย่างไร


คุณควรให้ข้อมูลเพิ่มเติม คุณรู้ว่าติดตั้ง Python แล้ว แต่คุณสามารถใช้งาน Python ได้หรือไม่ ในกรณีของฉันฉันไม่ได้ติดตั้ง ผลิตภัณฑ์ต่าง ๆ อาจติดตั้งไว้และฉันต้องการค้นหาว่ามีอยู่ในระบบไฟล์หรือไม่ ล่ามจะถูกเรียกว่า python.exe หรือไม่ ฉันไม่รู้.
David Spector

คำตอบ:


338

ใน Python interpreter ของคุณพิมพ์คำสั่งต่อไปนี้:

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

ถ้าคุณอยู่ใน virtualenv ล่ะ สิ่งนี้จะไม่ทำงาน
user60561

1
@ user60561 มันควรจะให้เส้นทางแก่คุณไปยัง Python ของ Virtualenv ฉันไม่ทราบวิธีที่จะได้รับ python ของระบบปฏิบัติการในกรณีนี้ แต่ฉันสนใจที่จะรู้ว่าทำไมคุณต้องใช้สิ่งนั้นหากคุณเรียกใช้จากภายใน Virtualenv
elo80ka

สคริปต์ของฉันสร้าง virtualenv ดังนั้นจึงใช้ระบบ python ในการทำเช่นนั้น คุณได้รับฉันคิดว่าอาจไม่จำเป็น ... ฉันจะตรวจสอบออกวันจันทร์ขอบคุณ!
user60561

ข้อผิดพลาด: "C: \ WINDOWS \ system32> import os 'import' ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือแบตช์ไฟล์"
David Spector

@ David Spector: แย่จัง ฉันควรจะตั้งข้อสังเกตว่าคุณจะต้องพิมพ์คำสั่งผู้ที่อยู่ในล่ามหลามฉันจะปรับปรุงคำตอบ :-)
elo80ka

63

หากคุณมี python ในตัวแปรสภาพแวดล้อมของคุณคุณสามารถใช้คำสั่งต่อไปนี้ใน cmd:

>>> ที่หลาม

หรือสำหรับสภาพแวดล้อมยูนิกซ์

>>> ซึ่งเป็นไพ ธ อน

รูปภาพบรรทัดคำสั่ง


คำตอบนี้ดีกว่าเพราะไม่ได้เกี่ยวข้องกับการสร้างและการเรียกใช้สคริปต์และมันง่ายกว่ามาก +1
applemonkey496

54

มันจะเป็นอย่างใดอย่างหนึ่ง

  • C: \ Python36
  • C: \ Users \ (ผู้ใช้ที่เข้าสู่ระบบของคุณ) \ AppData \ Local \ Programs \ Python \ Python36

2
เส้นทางของฉันของ python 3.6 บน win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang

6
เส้นทาง Python สามารถปรับแต่งได้อย่างอิสระระหว่างการติดตั้ง ผมมีเครื่องหลายอย่างที่ไม่ได้มี AC: \ ไดรฟ์ C:\Usersนอกจากนี้ข้อมูลการใช้ในท้องถิ่นไม่จำเป็นต้องอยู่ภายใต้
Matteo Italia

49

หากคุณต้องการทราบเส้นทางที่ติดตั้งภายใต้ Windows โดยไม่ต้องเริ่มต้นตัวแปล python ให้ดูในรีจิสทรีของ Windows

แต่ละไพ ธ อนรุ่นที่ติดตั้งจะมีรีจิสตรีคีย์ใน:

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

ใน Windows 64 บิตจะอยู่ภายใต้Wow6432Nodeคีย์:

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

สิ่งนี้ดูเหมือนจะเป็นเท็จบน windows 7 อย่างน้อยสำหรับ python 2.7
sharkin

ข้อมูลตั้งอยู่ที่ไหนบน windows 7 หากคุณมีคอมพิวเตอร์ที่ใช้ Windows 7 คุณสามารถค้นหารีจิสตรีสำหรับ Python และ PythonCore ได้หรือไม่? และดูว่าคุณพบค่า InstallPath หรือไม่
codeape

7
ใน windows รุ่น 64 บิต (ซึ่งคุณอาจใช้) มันจะอยู่ภายใต้คีย์ Wow6432Node IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ versionnumber \ InstallPath
บิต piksel

โปรดอัปเดตคำตอบของคุณด้วยความคิดเห็นของ 'piksel bitworks มันใช้งานได้สำหรับฉัน
dinesh ygv

1
มันเป็นวิธีที่ดี แต่การใช้มันจำเป็นต้องรู้เวอร์ชันของหลามในปัจจุบัน ฉันยังคงมองหาวิธีที่ดีในการตรวจสอบเส้นทางของหลามเพื่อใช้กับโปรแกรมติดตั้ง nsis
PerryWerneck

13

ในการติดตั้ง windows ของฉันฉันได้รับผลลัพธ์เหล่านี้:

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

(คุณสามารถค้นหาsys.pathสถานที่ที่เหมาะสมได้ด้วย)


แต่เราจะทำเช่นเดียวกันโดยใช้ไฟล์แบตช์ได้อย่างไร
Patrick

@ แพทริคฉันคิดว่าpython -c "import sys; print(sys.executable)"จะทำงาน
wjandrea

8

ในsysแพ็คเกจคุณสามารถค้นหาข้อมูลที่เป็นประโยชน์มากมายเกี่ยวกับการติดตั้งของคุณ:

import sys
print sys.executable
print sys.exec_prefix

ฉันไม่แน่ใจว่าสิ่งนี้จะให้ในระบบ Windows ของคุณ แต่ใน Mac ของฉันexecutableชี้ไปที่ไบนารี Python และexec_prefixรูทการติดตั้ง

คุณสามารถลองสิ่งนี้เพื่อตรวจสอบsysโมดูลของคุณ:

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

@GuoH เราสามารถทำเช่นเดียวกันโดยใช้ไฟล์แบตช์?
Patrick

คุณสามารถทำสิ่งที่ชอบpython -c "import sys; print sys.executable"
Guðmundur H

7

หากคุณต้องการเส้นทางหลังจากการติดตั้งสำเร็จให้เปิด CMD และพิมพ์ python หรือ python -i ก่อน

มันจะเปิดเปลือกโต้ตอบสำหรับคุณแล้วพิมพ์

sys นำเข้า

sys.executable

กด Enter และคุณจะได้รับเส้นทางที่ติดตั้งหลามของคุณ ...


ปัญหาที่ฉันมีกับวิธีนี้คือฉันใช้ python 2.7 และต้องการอัพเกรดเป็น 3.6 ฉันติดตั้ง 3.6 แต่เมื่อฉันพิมพ์หลามบนบรรทัดคำสั่งฉันยังคงรันจาก 2.7 ตัวเก่า
tzg


5

คุณสามารถค้นหา "ตัวแปรสภาพแวดล้อมสำหรับบัญชีของคุณ" หากคุณเพิ่ม Python ในเส้นทางมันจะแสดงเป็น "เส้นทาง" ในบัญชีตัวแปรสภาพแวดล้อมของคุณ

แต่เกือบทุกครั้งคุณจะพบมันใน " C: \ Users \% User_name% \ AppData \ Local \ Programs \ Python \ Python_version "

'การAppDataโฟลเดอร์' อาจถูกซ่อนอยู่ทำให้มองเห็นได้จากมุมมองในส่วนของแถบเครื่องมือ


4

หากต้องการทราบว่าติดตั้ง Python ไว้ที่ใดคุณสามารถดำเนินการwhere pythonใน cmd.exe ของคุณ


(ดูเหมือนโพสต์นี้จะไม่ให้คำตอบกับคำถามโปรดแก้ไขคำตอบของคุณหรือเพียงแค่โพสต์เป็นความคิดเห็นต่อคำถาม)
sɐunıɔןɐqɐp

2
@ sɐunıɔןɐqɐpจริง ๆ แล้วมันเป็นคำตอบและอาจถูกต้อง ฉันไม่คุ้นเคยกับ Windows มากนัก แต่ในความเป็นจริงแล้วดูเหมือนว่าจะเป็นwhereคำสั่งที่ควรจะคล้ายกับwhichใน Unixes
โหนด

@ anothernode: คุณภาพของคำตอบนั้นแย่มาก ในกรณีที่คุณเข้าใจในสิ่งที่ผู้เขียนพยายามจะพูดคุณสามารถแก้ไขและแก้ไขได้ฟรี
sɐunıɔןɐqɐp

1
คุณภาพของคำตอบนั้นไม่เลวคุณภาพของคำถามก็คือ ฉันสามารถยืนยันการwhere pythonทำงานใน cmd.exe
Kay

3

หากใครต้องการทำเช่นนี้ใน C # ฉันใช้รหัสต่อไปนี้:

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
HKCU และ HKLM จะไม่มีอยู่สำหรับผู้ใช้ส่วนใหญ่หรือไม่ ดูเหมือนว่าจะพลาดอินสแตนซ์ของไพ ธ อนที่ติดตั้งทั่วโลก
jtbr

ใช่ดูเหมือนว่าฉันจะสร้างข้อบกพร่องที่นั่น
ปีเตอร์

2

ไปที่ C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36 หากไม่ได้เปิดคอนโซลโดย windows + ^ R จากนั้นพิมพ์ cmd และกด enter พิมพ์ python หากติดตั้งในไฟล์ในเครื่องของคุณมันจะแสดงเวอร์ชั่นของมัน จากที่นั่นให้พิมพ์การนำเข้า os ต่อไปนี้นำเข้า sys os.path.dirname (sys.executable)


2

หากคุณมีpyคำสั่งติดตั้งอยู่ซึ่งคุณน่าจะทำได้เพียงใช้--list-pathsอาร์กิวเมนต์ไปที่คำสั่ง:

py --list-paths

ตัวอย่างผลลัพธ์:

ติดตั้ง Pythons ที่พบโดย py Launcher สำหรับ Windows
-3.8-32 C: \ Users \ cscott \ AppData \ Local \ Programs \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

The * บ่งชี้เวอร์ชันปัจจุบันที่แอ็คทีฟสำหรับสคริปต์ที่เรียกใช้โดยใช้pyคำสั่ง


1

สิ่งนี้ใช้ได้กับฉัน: C:\Users\Your_user_name\AppData\Local\Programs\Python

ที่ฉันติดตั้งในปัจจุบันpython versionคือ3.7.0

หวังว่านี่จะช่วยได้!


1

มันโดยทั่วไป

'C: \ Users \ ชื่อผู้ใช้ \ AppData \ Local \ Programs \ หลาม \ หลามรุ่น'

หรือลองใช้ (เป็น cmd)

ที่หลาม


0

ถ้าคุณยังคงติดอยู่หรือคุณได้สิ่งนี้

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

ทำแบบนี้แทน 2 \ ด้วยอันเดียว

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

0

ฉันติดตั้ง 2 และ 3 และมีปัญหาเดียวกันในการค้นหา 3. โชคดีที่การพิมพ์เส้นทางที่ windows path ให้ฉันค้นหาตำแหน่งที่ติดตั้งไว้ เส้นทางเป็นตัวเลือกเมื่อฉันติดตั้ง Python ที่ฉันลืมไป หากคุณไม่ได้เลือกการตั้งค่าพา ธ เมื่อติดตั้ง Python 3 ซึ่งอาจไม่ทำงาน - เว้นแต่คุณจะอัปเดตพา ธ ด้วยตนเองเมื่อคุณติดตั้ง ในกรณีของฉันมันอยู่ที่ c: \ Program Files \ Python37 \ python.exe


0

หากคุณใช้anaconda navigatorบน windows คุณสามารถไปได้เช่นกันenviornmentsและเลื่อนไปที่สภาพrootแวดล้อมสภาพแวดล้อมจะระบุตำแหน่งที่ติดตั้ง มันสามารถช่วยได้หากคุณต้องการใช้สภาพแวดล้อมนี้เมื่อคุณต้องการเชื่อมต่อกับแอพพลิเคชั่นอื่นซึ่งคุณต้องการรวมรหัสไพ ธ อนเข้าด้วยกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.