บทความนี้จะช่วยให้เพื่อนๆ ที่อยากใช้งาน Python หลายเวอร์ชันพร้อมๆ กันบนเครื่องเซิฟเวอร์หรือบนเครื่องของเราเองก็ตาม เราสามารถใช้เครื่องมือที่ชื่อว่า pyenv ที่ช่วยให้การติดตั้ง Python เวอร์ชันต่างๆ สะดวกมากยิ่งขึ้น
ก่อนอื่นเราต้องเตรียม dependencies ต่างๆ ที่จำเป็นก่อน
brew install openssl readline sqlite3 xz zlib tcl-tk
openssl จะเกี่ยวกับ ssl ซึ่งเป็น module ที่จำเป็นสำหรับความปลอดภัยต่างๆ เช่น encryption, authentication
readline เกี่ยวข้องกับการใช้งาน Python แบบ interactive mode และการใช้งานฟังก์ชัน input
sqlite3 เกี่ยวกับการทำงานร่วมกับ database sqlite
xz และ zlib จะเกี่ยวข้องกับการบีบอัดข้อมูล (compression)
tcl-tk เกี่ยวกับการพัฒนา gui
หลังจากติดตั้ง dependencies เสร็จแล้ว ก็มาติดตั้ง pyenv ด้วย curl command กัน
curl https://pyenv.run | bash
ถ้าทุกอย่างราบรื่นดี เราก็สามารถเริ่มใช้งาน pyenv ได้เลย ก็เปิด terminal ขึ้นมาใหม่เลยจะได้ load pyenv เข้าไปใน PATH หรือถ้าใครไม่อยากปิดไปหรือกำลังติดตั้งอยู่บนเครื่องเซิฟเวอร์ก็ใช้วิธี reload shell ด้วยคำสั่ง
exec "$SHELL"
การใช้งาน pyenv
การติดตั้ง
ลองติดตั้ง Python เวอร์ชั่นอื่นๆ เช่น 3.11 ด้วยคำสั่ง pyenv install
pyenv install 3.11.5
ถ้าใครที่ใช้งานอินเทอร์เน็ตผ่าน proxy ก็ให้ตั้งค่า http_proxy และ https_proxy ก่อนนะครับ
List version ที่ติดตั้งไว้แล้ว
หลังจากติดตั้งเสร็จก็ลอง list version ที่มีอยู่ในเครื่องดูด้วยคำสั่ง pyenv versions
pyenv versions
ตั้งค่า Python version แต่ละ folder
เราสามารถตั้งค่าให้ pyenv เลือกใช้ Python เวอร์ชันที่เราต้องการให้อัตโนมัติ สำหรับแต่ละ folder ด้วยการใช้คำสั่ง pyenv local หรือจะสร้างไฟล์ .python-version ไว้ใน folder นั้นๆ ครับ
pyenv local 3.11.5
ตั้งค่า Python version ใน shell session
หรือถ้าเราอยากเปลี่ยน version ที่ใช้งานใน shell session ก็ให้ใช้คำสั่ง pyenv shell <version> เช่น
pyenv shell 3.10.13
ตั้งค่าเริ่มต้น (default version)
เราสามารถเลือกเวอร์ชันตั้งต้น (default version) ด้วยคำสั่ง pyenv global <version>
pyenv global 3.11.5