สรุปความ
เป็นที่รู้กันดีอยู่แล้วว่า macOS จะมี python ติดมาอยู่แล้ว ถ้าอยากติดตั้งเวอร์ชันอื่นเพิ่มก็ทำได้ แต่จะ run ผ่าน terminal จะทำไม่ได้ หากอยากเรียกใช้ผ่าน terminal ต้องทำผ่านการกำหนด alias ไปยังโพลเดอร์ python ที่เราติดตั้งไป ซึ่งปกติจะอยู่ที่ /usr/local/bin/python3 หากเป็นเวอร์ชัน 3
และถ้าอ่านใน docs.python.org ก็ไม่ได้แนะนำให้ทำ เนื่องจากอาจมีปัญหาอย่างอื่นตามมา เพราะ python ที่ติดตั้งมาจะถูกเรียกใช้จากบริการหลาย ๆ อย่างของระบบปฏิบัติการ และส่วนนี้อยู่ที่ /usr/bin/python3 ซึ่ง Apple จะเป็นผู้ดูแลและคอยอัพเดทตามความจำเป็นของเขา
แต่โดยส่วนตัวแล้ว ผมก็อยากจะรันผ่าน terminal อยู่
การทำ alias ให้รัน python ผ่าน terminal ได้
ก่อนจะทำ ณ วันนี้ผมใช้ macOS Monterey 12.6.2 อยู่นะครับ โดยเท่าที่ลองเช็คเวอร์ชัน โดยใช้คำสั่ง
python --version
และได้ผลลัพธ์ออกมาเป็น
username@u-mbp ~ % python --version
zsh: command not found: python
username@u-mbp ~ %
😁 โดยผมคิดว่าดีจัง เพราะ Apple เรียกใช้ python โดยใช้คำสั่ง python3 ซึ่งเราสามารถทำ alias ให้เรียกใช้ python เวอร์ชันอื่นที่เราติดตั้งไปได้ โดยที่ไม่น่าจะส่งผลกระทบอะไรต่อระบบปฏิบัติการและบริการอื่น ๆ ที่เกี่ยวข้อง
โดยการทำ alias คือ การตั้งชื่อเล่นให้กับแอพ หรือโปรแกรมที่เราจะเรียกใช้ ซึ่งในที่นี้ก็คือ python เวอร์ชันใหม่ที่เราติดตั้งไป และสามารถทำได้โดยเพิ่มคำสั่ง alias ไว้ในไฟล์ .zprofile
nano .zprofile
และเพิ่ม 2 บรรทัดนี้เขาไป
alias python=/usr/local/bin/python3
alias pip=/usr/local/bin/pip3.11
เสร็จแล้วให้บันทึกไฟล์โดยกด control + x แล้วกดปุ่ม y และกดปุ่ม return
จากนั้นให้ใช้คำสั่ง exit เพื่อออกจาก terminal ปัจจุบัน แล้วเปิด terminal ใหม่ขึ้นมา แล้วลองใช้คำสั่ง python --version และ pip --version ใน terminal แล้วจะได้ผลลัพธ์ตามนี้
username@u-mbp ~ % python –version
Python 3.11.1
username@u-mbp ~ % pip –version
pip 22.3.1 from /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip (python 3.11)
username@u-mbp ~ %
โดยถ้าเป็นแบบนี้แสดงว่า เราจะรันไฟล์ python ที่เราเขียนขึ้นโดยผ่าน terminal ได้แล้ว โดยผมจะลองโดยสร้างไฟล์ชื่อ test.py ซึ่งคำสั่งและผลลัพธ์แบบนี้
username@u-mbp ~ % nano test.py
username@u-mbp ~ % python test.py
Hello! lungthi.com
Now, you can run me via terminal.
username@u-mbp ~ %
ก็จะเห็นว่า ผมสามารถรัน code ที่เขียนขึ้นผ่าน terminal เป็นที่เรียบร้อย 😀
ส่วนคนที่ไม่อยากทำ alias ก็สามารถใช้วิธีการที่ทาง python.org แนะนำเอาไว้ได้
รันผ่าน IDLE

รันผ่าน Python Launcher
บน macOS หากเราติดตั้ง python เวอร์ชันใหม่เพิ่มเข้าไป ถ้าจะรันให้ลากไฟล์นั้นมาที่ Python Launcher

หรือตั้งค่าให้ default application ให้ Python Launchcer เปิดไฟล์ .py
หรือไม่ก็ต้องพิมพ์คำสั่งยาว ๆ (ยาวเกิ๊น 😟) โดยตรงคำว่า <your script here> ให้พิมพ์ชื่อไฟล์ที่เราจะ run
cd '' && '/usr/local/bin/python3' '<your script here>' && echo Exit status: $? && exit 1