ฉันจะอัปเดตการติดตั้ง Python เริ่มต้น / แก้ไข $ PATH ของฉันบน Mac OS X 10.6.7 ได้อย่างไร


8

ฉันรู้ว่าคำถามนี้ถูกถามก่อนหน้านี้ในเว็บไซต์นี้และฉันได้พบคู่สนทนาที่คุ้มค่า แต่วิธีการแก้ปัญหาที่ฉันพบและลองใช้งานไม่ได้ ฉันต้องการเรียนรู้ Python และฉันมีปัญหาในการตั้งค่าอย่างถูกต้องบน Mac ของฉัน ฉันใช้ OS X 10.6.7

ฉันดาวน์โหลดตัวติดตั้ง Python 3.2 จากpython.orgแล้วติดตั้งซึ่งติดตั้ง/Library/Frameworks/Python.framework/Versions/3.2/binไว้ นี่เป็นเรื่องดีสำหรับตอนนี้เพราะฉันสามารถใช้ IDLE เพื่อพัฒนา เพื่อใช้ 3.2 จากบรรทัดคำสั่งโดยใช้pythonฉันพยายามเรียงลำดับ$PATHตัวแปรใหม่ นี่คือสิ่งที่~/.profileดูเหมือนว่า:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

อย่างไรก็ตามpythonยังคงเปิดตัว 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

หลังจากดิ้นรนกับสิ่งนั้นชั่วระยะเวลาหนึ่งฉันตัดสินใจว่าฉันควรถอนการติดตั้ง 3.2 และลองและอัปเดตการติดตั้งระบบของ Python ฉันไม่แน่ใจเกี่ยวกับวิธีการทำอย่างถูกต้องดังนั้นฉันต้องได้ 3.2 ทำงานกับบรรทัดคำสั่งหรืออัปเดต 2.6.1

คำตอบ:


5

ฉันเพิ่งแก้ไขปัญหานี้โดยการติดตั้ง Python 3.2.2 บน Mac OS X Lion ของฉันดังนั้นฉันคิดว่าฉันจะโพสต์ว่าฉันทำได้อย่างไรโดยหวังว่าจะมีคนเห็นว่ามีประโยชน์

ประการแรกฉันเห็นด้วยกับเฉดสีและสีที่คุณไม่ควรแก้ไขสำเนาเริ่มต้นของหลามที่มาพร้อมกับ mac ของคุณเพราะอาจมีสคริปต์ที่อาจไม่ทำงานอย่างถูกต้องเมื่อทำงานโดยใช้ล่าม Python 3.0+ ต้องบอกว่าในการติดตั้ง Python ล่าสุด (3.2.2 ณ เวลาที่โพสต์นี้) คุณควรดาวน์โหลดตัวติดตั้ง Python จากเว็บไซต์ทางการ ติดตั้งตามปกติ เรียกใช้ไฟล์ "Update Shell Profile.command" ในโฟลเดอร์ / Applications / Python (ver)

หลังจากติดตั้งไพ ธ อนแล้วคุณต้องแก้ไขพา ธ ของคุณโดยพิมพ์ "sudo nano / etc / path" ที่บรรทัดคำสั่ง ถัดไปป้อนรหัสผ่านของคุณเมื่อได้รับแจ้ง ถัดไปเพียงแค่ "ตัด" บรรทัด "/ usr / local / bin" และ "วาง" มันก่อนที่จะเกิด "/ usr / bin" บันทึกไฟล์ปิดเทอร์มินัลที่เปิดอยู่และเรียกใช้อินสแตนซ์ใหม่ของเทอร์มินัล ตอนนี้เมื่อคุณพิมพ์ "python" ที่บรรทัดคำสั่งเชลล์จะค้นหา / usr / local / bin ก่อนและรันสำเนาของ python ล่าสุด


+1 ตั้งแต่ฉันพยายามคิดออกมาทั้งวัน แน่นอนใน Snow Leopard หากการตั้งค่า PATH ในการกำหนดค่าเปลือกของคุณไม่ทำงานการแก้ไข/etc/pathตามที่คุณแนะนำให้ใช้งานได้อย่างสมบูรณ์ สำหรับฉันปัญหาได้รับทั้งกราฟิกและเทอร์มินัล emacs เพื่อรับรู้ว่าฉันต้องการใช้การติดตั้งหลามที่กำหนดเอง ขอบคุณสำหรับทิป!
jrhorn424

สิ่งนี้ทำงานได้ถ้าฉันcd /usr/local/binและcp python3.7 pythonและรีสตาร์ทเครื่องของฉัน
openwonk

1

จากประสบการณ์ของฉันการใช้ symlink พร้อมกับ PATH สั่งอย่างถูกต้องเป็นวิธีที่จะมี Python อยู่ร่วมกันหลายเวอร์ชันใน OS X หรืออื่น ๆ ที่ฉันนึกได้ OS X เป็นเพียงเล็กน้อยขำ แต่ทำงานในลักษณะเดียวกัน

ขั้นแรกให้รับภาพเต็มโดยเรียกใช้คำสั่งต่อไปนี้:

which python

แล้ว:

ls -la /usr/bin/python*

และเปรียบเทียบกับ:

ls -la /usr/local/bin/python*

ดูว่า symlink กำลังชี้ไปที่ใด

ขึ้นอยู่กับ PATH ที่คุณโพสต์เนื่องจาก / usr / bin มาหลังจาก / usr / local / bin และอื่น ๆ ที่คุณอาจใช้ล่าม System python:

/usr/bin/python

หากคุณติดตั้ง python3.0 มันอาจจะทำงานเป็น:

/usr/local/bin/python

ตอนนี้คุณรู้ว่าสิ่งที่ชี้ไปที่ใดและมีการแปลล่ามอะไรจาก PATH คุณสามารถทำการเปลี่ยนแปลงที่เหมาะสมกับ PATH และ / หรือ symlink จากนั้นคุณสามารถใช้เทคนิคเดียวกันเพื่อยืนยันการเปลี่ยนแปลงที่เหมาะสม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการที่ดีในการติดตั้งหลามบน MacOS ดูดำน้ำใน python3และfarmdev


/usr/local/bin/pythonไม่ได้อยู่ แต่/usr/local/bin/python3ไม่ python3 --versionให้การติดตั้งของฉัน (3.2) ฉันสามารถเปลี่ยนชื่อ symlink pythonนั้นเป็นแบบไม่ต้องพิมพ์ 3 ได้หรือไม่
Steven Zezulak

หากสั่งซื้อ PATH ของคุณอย่างถูกต้อง (/ usr / local / bin มาหลัง / usr / bin) คุณก็สามารถสร้าง symlink ที่ทำเช่นนั้นได้
Somantra

1
แต่ถ้า / usr / bin มาหลังจาก / usr / local / bin มันจะทำการโหลดระบบ python (/ usr / bin / python)
Somantra

0

บางทีถ้าคุณติดตั้ง Python ผ่าน MacPorts มันจะอัพเกรดเวอร์ชั่นของระบบ ที่จริงฉันสงสัยว่าไม่ได้เพราะดูเหมือนว่าจะมีความเสี่ยงสำหรับฉัน แต่คุณอาจต้องการตรวจสอบสิ่งที่ MacPort ทำเมื่อคุณติดตั้ง Python ด้วย


0

ฉันเคยถามคำถามนี้กับใครบางคนมาก่อนและฉันไม่แนะนำให้เปลี่ยนรุ่นเริ่มต้นของ python เนื่องจากบางส่วนของการปฏิบัติการอาจขึ้นอยู่กับรุ่น 2.7 ว่าเป็นที่ใด ที่ถูกกล่าวว่ามันไม่ได้เป็นงานที่มากที่จะวางคำสั่ง python3 ในเส้นทางของคุณ นั่นคือสิ่งที่ฉันทำในขณะนี้และดูเหมือนว่าดี


0

ถ้าคุณใช้โปรแกรมติดตั้งไพ ธ อนของคุณจะอยู่ใน / usr / local / bin / python3 เส้นทางควรได้รับการอัปเดตโดยอัตโนมัติเพื่อให้สามารถใช้ได้python3ในเทอร์มินัลของคุณ เก่าpythonยังคงมีอยู่และอาจถูกใช้โดยระบบอื่น

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