ทำให้ python 3 ทันสมัยอยู่เสมอบน mac


27

ฉันต้องการ Python 3 (และฉันไม่ต้องการยุ่งกับ OS X ที่ให้ python) ตาม:

https://docs.python.org/3/using/mac.html

ฉันสามารถรับ Python 3 และใช้งานได้นานและประสบความสำเร็จ แต่ก็ไม่ชัดเจนว่าจะเกิดอะไรขึ้นเมื่อฉันต้องการอัพเกรดโดยใช้ DMG ถัดไป เป็นตัวอย่างที่ฉันสามารถบอกคุณได้ว่าเกิดอะไรขึ้นกับ R บน OS X: คุณได้รับ GUI ใน / Application และสิ่งต่างๆใน / Library / Frameworks ในการอัพเกรด GUI นั้นได้รับการอัพเกรดและวางเฟรมเวิร์กใหม่ไว้ในไดเรกทอรี / Library / Frameworks พร้อมกับเก่า (มี symlink 'ปัจจุบัน' ที่ดีซึ่งทำให้แน่ใจว่าจะไม่สนใจสิ่งเก่า) ฉันจะลบสิ่งเก่าเสมอเพื่อหลีกเลี่ยงการสะสม crud และที่มัน วิธีนี้จะใช้กับ Phyton ได้หรือไม่?

คำตอบ:


43

ฉันใช้ Homebrew เป็นการส่วนตัวซึ่งเป็นผู้จัดการแพ็คเกจที่ดีมาก หากคุณต้องการลองสิ่งนี้ก่อนอื่นต้องแน่ใจว่าคุณติดตั้งเครื่องมือบรรทัดคำสั่ง XCode บน Mac ของคุณ จากนั้นติดตั้ง Homebrew โดยพิมพ์

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ในเทอร์มินัล Homebrew จะวาง "Cellar" (ชุดของแพ็คเกจทั้งหมดที่คุณติดตั้งด้วย Homebrew) ใน / usr / local / Cellar

ตอนนี้เกี่ยวกับ Python 3 เมื่อติดตั้ง Homebrew แล้วให้พิมพ์

brew install python3

และเราไปที่นั่น คุณติดตั้ง Python3 บน Mac ของคุณแล้ว

หมายเหตุ:

  • รุ่นนี้จะเกิดขึ้นโดยอัตโนมัติแทนที่จะเป็นเวอร์ชั่น OS X (หากไม่มีให้เรียกใช้brew link python3- จะเป็นการเชื่อมโยง python3 เข้ากับ / usr / local / bin /)
  • เพื่ออัปเดต python ที่รันbrew updateในเทอร์มินัล (ซึ่งจะอัปเดต Homebrew) จากนั้นbrew upgrade python3หากพบคำสั่ง python3 เวอร์ชันใหม่brew update
  • ในตอนท้ายคุณสามารถเรียกใช้brew cleanup python3เพื่อลบเวอร์ชันเก่าทุกรุ่น
  • ด้วยผู้จัดการแพ็คเกจแฟนซีนี้คุณยังสามารถดูแล R

1
อ้างอิง: "เวอร์ชั่นนี้จะเกิดขึ้นโดยอัตโนมัติแทนที่จะเป็นเวอร์ชั่น OS X (หากไม่เป็นเช่นนั้นให้เรียกใช้" brew link python3 "- สิ่งนี้จะเชื่อมโยง python3 เข้ากับ / usr / local / bin /)" นั่นคือสิ่งที่ฉันไม่ต้องการ ฉันใช้ Homebrew สำหรับสิ่งอื่น ๆ และฉันไม่แน่ใจว่าฉันต้องการที่จะลงไปทาง Homebrew ...
user1256923

บางทีฉันไม่ชัดเจน เวอร์ชั่น OS X จะยังคงใช้งานได้ แต่คอมไพเลอร์เริ่มต้นจะถูกตั้งค่าเป็น Homebrew-one ถ้านั่นคือสิ่งที่คุณยังไม่ต้องการฉันก็ไม่เข้าใจ เช่นเดียวกับตัวอย่าง R ที่คุณให้ไว้มันจะสร้าง GUI บางส่วนและ Framework ที่เหมาะสมจะได้รับการอัปเดตเช่นกัน ขอโทษ.
AlessioX

4
สิ่งสุดท้ายที่ฉันสามารถพูดได้คือเมื่อพิจารณาว่า HB จะเชื่อมโยงสิ่งต่างๆเข้ากับ "/ usr / local / bin" และเนื้อหาดั้งเดิมของ Apple อยู่ใน "/ usr / bin" คุณสามารถตั้งค่าและแก้ไขลำดับความสำคัญได้โดยแก้ไขสภาพแวดล้อม $ PATH ของคุณ ถ้าคุณใส่ "/ usr / local / bin" ก่อนคุณจะมีรุ่น HB ถ้าคุณใส่ "/ usr / bin" ก่อนคุณจะมีรุ่น Apple ค่อนข้างน่ารำคาญฉันรู้ แต่นั่นเป็นตัวเลือกเดียวที่นึกได้
AlessioX

2
คุณอาจใช้brew unlink python3เพื่อลบลิงก์สัญลักษณ์ ตอนนี้คุณจะใช้รุ่น OSX pythonเมื่อทำงาน หากต้องการใช้รุ่นชงคุณยังคงสามารถทำงานได้ตัวอย่างเช่น/usr/local/Cellar/python3/3.3.2/bin/python3หรือสร้าง symlink เหมือนและหลังจากนั้นวิ่งln -s /usr/local/Cellar/python3/3.3.2/bin/python3 /usr/local/bin/python-3.3.2 python-3.3.2คุณยังสามารถติดตั้งสูตร python3 เวอร์ชันเก่าด้วย HB และใช้ทั้งหมดแยกต่างหาก ตรวจสอบนี้เกี่ยวกับวิธีการทำเช่นนั้น
madmax1

2
คุณไม่จำเป็นต้องลิงก์ python3 มันจะพร้อมใช้งานโดยอัตโนมัติใน/usr/local/bin/python3รูปแบบ และเนื่องจาก OS X ไม่ได้จัดส่งด้วย Python 3 อยู่แล้วคุณจะไม่เขียนทับ Python ที่ติดตั้งไว้ล่วงหน้า
skrause

20

ใช้Homebrew :)

brew install python3

Hombrew ติดตั้งทุกอย่างลงและสร้างการเชื่อมโยงสัญลักษณ์สำหรับการใช้งานใน/usr/local/Cellar /usr/local/binมันจะไม่แตะต้องสิ่งอื่นใดในระบบ มันมาพร้อมกับคำสั่ง brew cleanup ซึ่งจะลบแอปพลิเคชันที่ไม่ได้ใช้หรือล้าสมัยโดยอัตโนมัติ

หากต้องการอัปเดต:

brew update
brew upgrade python3

มันจะลิงค์ไปยังเวอร์ชั่นใหม่ล่าสุดโดยอัตโนมัติหลังจากการอัพเกรดและbrew cleanลบส่วนที่เหลือของเวอร์ชั่นก่อนหน้านี้ออก


2

คุณสามารถใช้การแจกจ่ายแอนาคอนดา มันเป็นเวอร์ชันฟรีของ Python 3 (และ Python2) แพ็คเกจ Andaconda จะช่วยให้คุณอัปเดตเวอร์ชั่นหลามที่แตกต่างกันและเมื่อติดตั้งจะกำหนดเส้นทางของหลามที่เหมาะสม Anaconda มาพร้อมกับ Anaconda Navigator ซึ่งช่วยให้คุณโหลดแพ็กเกจหลามและมาพร้อมกับ Spyder 3 แอพประเภท Python IDE

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