MacOS มาพร้อมกับ Python ที่ติดตั้งไว้ล่วงหน้า แต่มันคือ Python เวอร์ชัน 2.7 ซึ่งตอนนี้เลิกใช้แล้ว (ถูกละทิ้งโดยชุมชนนักพัฒนา Python)
ชุมชน Python ทั้งหมดได้เปลี่ยนไปใช้ Python 3.x แล้ว (เวอร์ชันปัจจุบันเมื่อเขียนคือ 3.9) และ Python 4.x จะออกในเร็วๆ นี้ แต่จะเข้ากันได้แบบย้อนหลังอย่างสมบูรณ์
หากคุณพยายามเรียกใช้ Python จากเทอร์มินัล MacOS คุณจะเห็นคำเตือนนี้:
จนกว่า Apple จะตัดสินใจตั้งค่า Python 3.x เป็นค่าเริ่มต้น คุณจะต้องติดตั้งเอง
คำสั่งเดียวในการเรียกใช้ Python 3
สำหรับบางท่านที่อ่านข้อความนี้ คำสั่งนี้อาจเพียงพอ คุณสามารถเรียกใช้ Python 3 ได้โดยใช้คำสั่งนี้ (โดยมี 3 ต่อท้าย)
python3
ถ้ามาแค่นี้ก็ไม่เป็นไร ขอให้มีวันที่สนุกสนานและมีความสุขกับการเขียนโค้ด
แต่ถ้าคุณต้องการระบบควบคุมเวอร์ชัน Python ที่เหมาะสมเพื่อติดตามเวอร์ชันต่างๆ และควบคุมเวอร์ชันที่คุณใช้อย่างละเอียด บทแนะนำนี้จะแสดงให้คุณเห็นอย่างชัดเจนถึงวิธีการดำเนินการนี้
วิธีการติดตั้ง Homebrew บน Mac
ก่อนอื่น คุณต้องติดตั้ง Homebrew ซึ่งเป็นตัวจัดการแพ็คเกจที่ทรงพลังสำหรับ Mac
เปิดเทอร์มินัลของคุณ คุณสามารถทำได้โดยใช้สปอตไลท์ MacOS (คำสั่ง+เว้นวรรค) แล้วพิมพ์ "terminal"
เมื่อคุณอยู่ในบรรทัดคำสั่ง คุณสามารถติดตั้ง Homebrew เวอร์ชันล่าสุดได้โดยการรันคำสั่งนี้:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
เทอร์มินัลของคุณจะขอการเข้าถึงระดับผู้ใช้ขั้นสูง คุณจะต้องพิมพ์รหัสผ่านเพื่อเรียกใช้คำสั่งนี้ นี่เป็นรหัสผ่านเดียวกับที่คุณพิมพ์เมื่อเข้าสู่ระบบ Mac พิมพ์แล้วกด Enter
Homebrew จะขอให้คุณยืนยันว่าต้องการติดตั้งสิ่งต่อไปนี้ คุณต้องกด Enter เพื่อดำเนินการต่อ (หรือกดแป้นอื่นถ้าเท้าเย็น)
วิธีการติดตั้ง pyenv เพื่อจัดการเวอร์ชัน Python ของคุณ
ตอนนี้ใช้เวลาสักครู่เพื่อติดตั้ง PyEnv ไลบรารีนี้จะช่วยคุณสลับไปมาระหว่างเวอร์ชันต่างๆ ของ Python (ในกรณีที่คุณต้องการเรียกใช้ Python 2.x ด้วยเหตุผลบางประการ และคาดว่า Python 4.0 จะมาถึง)
เรียกใช้คำสั่งนี้:
brew install pyenv
ตอนนี้คุณสามารถติดตั้ง Python เวอร์ชันล่าสุดได้แล้ว
วิธีใช้ pyenv เพื่อติดตั้ง Python หรืออัปเดตเวอร์ชัน Python ของคุณ
ตอนนี้คุณเพียงแค่ต้องเรียกใช้คำสั่งต่อไปนี้:
pyenv install 3.9.2
โปรดทราบว่าคุณสามารถแทนที่ 3.9.2 สำหรับ Python เวอร์ชันล่าสุดได้ ตัวอย่างเช่น เมื่อ Python 4.0.0 ออกมา คุณสามารถเรียกใช้สิ่งนี้:
pyenv install 4.0.0
การแก้ไขปัญหาการติดตั้ง pyenv
หากคุณพบข้อผิดพลาดที่ "คอมไพเลอร์ C ไม่สามารถสร้างไฟล์เรียกทำงาน" วิธีที่ง่ายที่สุดในการแก้ปัญหานี้คือการติดตั้ง Xcode ของ Apple ใหม่
Xcode เป็นเครื่องมือที่สร้างขึ้นโดย Apple ซึ่งมีไลบรารี C ทั้งหมดและเครื่องมืออื่นๆ ที่ Python ใช้เมื่อทำงานบน MacOS Xcode มีมากถึง 11 กิกะไบต์ แต่คุณจะต้องการอัพเดทอยู่เสมอ คุณอาจต้องการเรียกใช้สิ่งนี้ในขณะที่คุณนอนหลับ
คุณสามารถรับ Xcode ของ Apple เวอร์ชันล่าสุดได้ที่นี่ ฉันต้องทำสิ่งนี้หลังจากอัปเกรดเป็น MacOS Big Sur แต่เมื่อฉันทำแล้ว คำสั่งต่อไปนี้ทั้งหมดก็ใช้ได้ดี เพียงเรียกใช้ pyenv install 3.9.2
ด้านบนใหม่อีกครั้ง และตอนนี้ควรจะใช้งานได้แล้ว
วิธีตั้งค่า MacOS PATH ของคุณสำหรับ pyenv (Bash หรือ ZSH)
ก่อนอื่น คุณต้องอัปเดตพาธ Unix ของคุณเพื่อปูทางให้ PyEnv สามารถโต้ตอบกับระบบของคุณได้
นี่คือคำอธิบายแบบยาวเกี่ยวกับวิธีการทำงานของ PATH ใน MacOS (และ Unix) โดยตรงจาก pyenv GitHub repo
เมื่อคุณเรียกใช้คำสั่งเช่นpython
หรือpip
ระบบปฏิบัติการของคุณจะค้นหารายการไดเร็กทอรีเพื่อค้นหาไฟล์ปฏิบัติการที่มีชื่อนั้น รายการไดเรกทอรีนี้อยู่ในตัวแปรสภาพแวดล้อมที่เรียกว่าPATH
โดยแต่ละไดเรกทอรีในรายการคั่นด้วยเครื่องหมายทวิภาค:
/usr/local/bin:/usr/bin:/bin
ไดเร็กทอรีในPATH
ถูกค้นหาจากซ้ายไปขวา ดังนั้นไฟล์เรียกทำงานที่ตรงกันในไดเร็กทอรีที่ตอนต้นของรายการจึงมีความสำคัญเหนือกว่าโปรแกรมอื่นในตอนท้าย ในตัวอย่างนี้/usr/local/bin
ไดเร็กทอรีจะถูกค้นหาก่อน จากนั้น/usr/bin
แล้ว/bin
.และนี่คือคำอธิบายว่าชิมคืออะไร ฉันขอยกคำพูดยาวๆ อีกครั้ง เพราะฉันไม่สามารถอธิบายเรื่องนี้ได้ดีกว่าตัวเอง
pyenv ทำงานโดยการแทรกไดเร็กทอรีของ shims ที่ด้านหน้าของPATH
. ของคุณ :$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
ผ่านกระบวนการที่เรียกว่า การแฮชใหม่ , pyenv จะรักษา shims ในไดเร็กทอรีนั้นเพื่อให้ตรงกับทุกคำสั่ง Python ในทุกเวอร์ชันที่ติดตั้งของ Python—python
,pip
และอื่นๆShims เป็นไฟล์สั่งการที่มีน้ำหนักเบาซึ่งส่งคำสั่งของคุณไปยัง pyenv ได้อย่างง่ายดายวิธีอัปเดต
.bash_profile
. ของคุณมีดังนี้ ใน Bash (ซึ่งติดตั้งใน MacOS โดยค่าเริ่มต้น):echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
จากนั้นเรียกใช้:
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
หมายเหตุ: หากคุณไม่มี
/bin
ไดเร็กทอรีในpyenv_root
. ของคุณ โฟลเดอร์ (คุณอาจมีได้เพียง/shims
ไดเร็กทอรี) คุณอาจต้องรันคำสั่งเวอร์ชันนี้แทน:`echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile`
จากนั้นคุณต้องการเพิ่ม PyEnv Init ไปยังเทอร์มินัลของคุณ เรียกใช้คำสั่งนี้หากคุณใช้ Bash (อีกครั้ง นี่เป็นค่าเริ่มต้นสำหรับ MacOS):
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
ตอนนี้รีเซ็ตเทอร์มินัลของคุณโดยใช้คำสั่งนี้:
reset
วิธีตั้งค่า MacOS PATH ของคุณสำหรับ pyenv ใน ZSH หรือ OhMyZSH
หากแทนที่จะใช้ Bash เริ่มต้นของ Mac คุณกำลังใช้ ZSH (หรือ OhMyZSH) เหมือนฉัน คุณจะต้องแก้ไข
.zshrc
ไฟล์แทน:echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
จากนั้นเรียกใช้สิ่งนี้:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init --path)"\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
วิธีตั้งค่าเวอร์ชันของ Python เป็น Global Default (Bash หรือ ZSH)
คุณตั้งค่าเวอร์ชันล่าสุดของ Python ให้เป็นเวอร์ชันสากลได้ ซึ่งหมายความว่า Python จะเป็นเวอร์ชันเริ่มต้นของ Python MacOS ที่ใช้เมื่อคุณเรียกใช้แอปพลิเคชัน Python
เรียกใช้คำสั่งนี้:
pyenv global 3.9.2
อีกครั้ง คุณสามารถแทนที่ 3.9.2 ด้วยเวอร์ชันล่าสุดได้
ตอนนี้คุณสามารถตรวจสอบได้ว่าวิธีนี้ใช้ได้ผลโดยการตรวจสอบ Python เวอร์ชันสากล:
pyenv versions
คุณควรเห็นผลลัพธ์นี้:
* หมายถึงเวอร์ชันนั้นเป็นค่าเริ่มต้นทั่วโลก ขั้นตอนสุดท้าย:ปิดเทอร์มินัลแล้วรีสตาร์ท
เมื่อคุณรีสตาร์ทเทอร์มินัลแล้ว คุณต้องเรียกใช้
python
คำสั่งและคุณจะเปิดใช้ Python เวอร์ชันใหม่แทนเวอร์ชันเก่าเย้ Python 3.9.2 และไม่มีคำเตือนการเลิกใช้งาน ยินดีด้วย. ขอขอบคุณที่อ่านข้อความนี้ ขอให้สนุกกับการเขียนโค้ด