Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Mac

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน

macOS มาพร้อม Python 2.7 แต่มัน deprecated (เลิกพัฒนา) แล้ว

ชุมชน Python ย้ายไป 3.x แล้ว (ตอนเขียนเป็น 3.9) และ 4.x จะเข้ากันได้แบบ backward compatible

รัน python ใน Terminal จะเห็นเตือน:

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
WARNING: Python 2.7 not recommended. Included for legacy compatibility. Future macOS won't include it. Use 'python3' instead.

จนกว่า Apple จะตั้ง Python 3 เป็นค่าเริ่มต้น ต้องติดตั้งเอง

คำสั่งเดียว: รัน Python 3

บางคนแค่รัน python3 ก็พอ (มีเลข 3 ท้าย)

python3

พอใจแล้วจบได้ครับ Happy coding!

แต่ถ้าอยาก จัดการเวอร์ชันหลายตัว และควบคุมละเอียด อ่านต่อเลย

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
เหตุที่เขียน Python 3.x — x แทน sub-version (point releases) หมายถึง Python 3 ใดก็ได้

ติดตั้ง Homebrew บน Mac

Homebrew = package manager อันทรงพลังสำหรับ Mac

เปิด Terminal (Spotlight: Command+Space → "terminal")

รันคำสั่งติดตั้งล่าสุด:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

จะขอรหัสผ่าน admin (รหัสล็อกอิน Mac) → พิมพ์ Enter

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
Terminal ผมปรับแต่งเยอะ ตัวของคุณอาจต่างออกไป

Homebrew จะขอยืนยัน → กด Enter ต่อ (หรือปุ่มอื่นถ้ายกเลิก)

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน

ติดตั้ง pyenv จัดการเวอร์ชัน Python

PyEnv ช่วยสลับเวอร์ชัน Python (รองรับ 2.x, รอ 4.0)

brew install pyenv
ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
PyEnv กำลังติดตั้ง

ตอนนี้ติดตั้ง Python ล่าสุดได้แล้ว

ใช้ pyenv ติดตั้ง/อัปเดต Python

pyenv install 3.9.2

เปลี่ยน 3.9.2 เป็นเวอร์ชันล่าสุดได้ (เช่น 4.0.0 เมื่อออก)

pyenv install 4.0.0

Troubleshooting pyenv

Error "C compiler cannot create executables" → วิธีแก้ง่าย: ติดตั้ง Xcode ใหม่

Xcode = เครื่องมือ Apple มี C libraries ที่ Python ต้องการ ใหญ่ ~11 GB แต่มันจำเป็น อาจรันตอนนอน

โหลด Xcode ล่าสุด → รัน pyenv install 3.9.2 อีกครั้ง

ตั้งค่า PATH สำหรับ pyenv (Bash หรือ ZSH)

ต้อง update Unix PATH ให้ PyEnv ทำงานกับระบบได้

เวลารันคำสั่ง python หรือ pip OS จะหา executable ใน directories ตามลำดับในตัวแปร PATH (คั่นด้วย colon)

/usr/local/bin:/usr/bin:/bin

ค้นจากซ้ายไปขวา → directory หน้ามี precedence มากกว่า

pyenv ใส่ directory ของ shims หน้าสุด PATH:

$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin

ผ่าน rehashing pyenv รักษา shims ให้ตรงกับทุกคำสั่ง Python ทุกเวอร์ชัน

Shims = executableเบาๆ ส่งคำสั่งต่อให้ pyenv

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:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

รีเซ็ต Terminal:

reset

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

pyenv global 3.9.2

เปลี่ยน 3.9.2 เป็นเวอร์ชันล่าสุดได้

ตรวจสอบ:

pyenv versions

ควรเห็น * หน้าวอร์ชันที่เป็น global

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
* หมายถึงเวอร์ชันนั้นเป็น global default

ขั้นตอนสุดท้าย: ปิดและเปิด Terminal ใหม่

รัน python → จะเปิด Python ใหม่ ไม่ใช่ 2.7 แล้ว

ติดตั้ง Python 3 บน macOS ด้วย Homebrew: คู่มือขั้นตอน
Python 3.9.2 ไม่มีเตือน deprecated แล้ว!

ยินดีด้วย! ขอบคุณที่อ่าน Happy coding! 🐍