ทำไม Python สำหรับ Windows ไม่ได้ติดตั้งไว้ใน% PROGRAMFILES% (“ C: \ Program Files”)


23

Python ได้รับการติดตั้งใน C: \ Program Files \ Python แต่เปลี่ยนแปลงได้ประมาณ 1.5 อะไรคือเหตุผลเบื้องหลังการตัดสินใจ เป็นความคิดที่ดีที่จะเปลี่ยนไดเร็กตอรี่กลับหรือไม่และถ้าใช่ทำไม?


คำตอบ:


22

เห็นได้ชัดว่านี่คือสาเหตุของการสนทนา 7 ปีในหมู่นักพัฒนางูหลาม

เหตุผลต่อไปนี้ได้รับจากผู้เขียน:

ผู้แต่ง: Tim Peters (tim.peters) * (Python committer) วันที่: 2006-03-22 20:27

เมื่อนานมาแล้ว Python ทำการติดตั้ง (โดยค่าเริ่มต้น) ภายใต้ "Program Files" ฉันเปลี่ยนไปเนื่องจากปัญหาที่ไม่มีที่สิ้นสุดที่สร้างขึ้นโดยพื้นที่ฝังตัวของ frickin และหายาก แต่ปัญหาที่ยากกว่านั้นเนื่องจาก "Program Files" ไม่ใช่ชื่อ DOSish 8.3 โดยรวมแล้วฉันยังคิดว่ามันเป็นการเปลี่ยนแปลงที่ดี

โปรดทราบว่าแตกต่างจากแอปพลิเคชัน Windows ส่วนใหญ่ (ซึ่งเป็นแบบอิง GUI) ภาษาการเขียนโปรแกรมมีวัตถุประสงค์เพื่อใช้อย่างหนักจากบรรทัดคำสั่งเรียกใช้โดยสคริปต์และอื่น ๆ นั่นคือสิ่งที่ทำให้พื้นที่ในเส้นทางไม่มีข้อผิดพลาดได้ง่าย ใน WinXP Pro ฉันสังเกตเห็นว่า MS ยังคงระมัดระวังที่จะใส่เครื่องมือบรรทัดคำสั่ง / สคริปต์ของตัวเอง (sort.exe, ipconfig.exe, cscript.exe, ... , แม้ notepad.exe) ภายใต้บริสุทธิ์ DOSish 8.3 พื้นที่ฟรี เส้นทาง ;-)


นอกเหนือ : เนื่องจากความเป็นไปได้ของการเพิ่มสิทธิ์การใช้ C: \ แทน C: \ Program Files \ อาจเป็นอันตรายต่อความปลอดภัย:

ผู้แต่ง: Mika Eloranta (mel) วันที่: 2005-09-07 21:34

ไดเรกทอรีเป้าหมายการติดตั้งเริ่มต้นที่ Python ติดตั้งบน Windows อยู่ภายใต้ไดเรกทอรีรากของไดรฟ์ระบบโดยตรง (เช่น "C: \ python24") สิทธิ์ของไฟล์และไดเรกทอรีที่สืบทอดโดย python24-directory จากไดเรกทอรี root นั้นไม่ปลอดภัยเพียงพอสำหรับการรักษาไบนารีแอปพลิเคชัน

Microsoft มีปัญญาไม่สิ้นสุดตัดสินใจว่าไดเรกทอรีรากของไดรฟ์ระบบควรอนุญาตให้ผู้ใช้ทั่วไป (ที่ไม่ใช่ผู้ดูแลระบบ) สามารถสร้างไดเรกทอรีและไฟล์ได้ ชุดของการอนุญาตนี้สืบทอดมาจากไดเรกทอรี python เมื่อมันถูกสร้างขึ้นในตำแหน่งเริ่มต้น (เช่น "C: \ python24" หรืออะไรก็ตาม)

หากคุณต้องการที่จะปรับเปลี่ยนไดเรกทอรีหลามเพื่อหลีกเลี่ยงการโจมตีเพิ่มสิทธิ์กล่าวมันควรจะเป็นไปได้ที่จะปรับเปลี่ยน \ หลามไดเรกทอรีใช้icacls


แทบไม่มีใครเรียกไพ ธ อนด้วยเส้นทางที่เต็ม วิธีที่ถูกต้องคือการใส่binโฟลเดอร์ลงไป%PATH%และคุณไม่จำเป็นต้องจัดการกับช่องว่างอีกต่อไป และมันไม่เป็นความจริงที่ XP Pro มีไฟล์สั่งการบรรทัดคำสั่งในเส้นทาง DOS 8.3 ในขณะที่เส้นทางของพวกเขาโดยทั่วไปไม่ได้มีช่องว่างใด ๆ ไฟล์จำนวนมากมีความยาวกว่า 8 ตัวอักษรเช่น systeminfo.exe
phuclv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.