เปลี่ยน version ของ Python ด้วย pynenv
ช่วงนี้กลับมาเขียน python พบว่าจะเปลี่ยน version ผ่าน Homebrew เริ่มยาก เพราะต้องเข้าไปดู git history ของ python ใน Homebrew เลยไปเจอ tool เฉพาะชื่อว่า pyenv โดยมี feature คร่าวๆ คือ
- เปลี่ยน python version ทั้งแบบ local และ global
- ลง python ระบุ version ได่
- แสดง python version ที่เราลงไว้ทั้งหมด
ตัวอย่างการทำงานของ pyenv
เป็นแบบนี้
- ปกติเวลาเรารันคำสั่งเช่น
pip
ระบบจะไปหา executable file ชื่อว่าpip
ซึ่งจะเก็บอยู่ใน environment variable ชื่อว่าPATH
เช่น/usr/local/bin/pip
pyenv
จะไปหา executable file ที่เรียกว่าshims
ที่มีชื่อตรงกับคำสั่งเราจากข้อ 1 ถ้าอย่างของpip
ก็จะเจอประมาณนี้/Users/raksit/.pyenv/shims/pip
- รัน
shims
ตัวนั้นโดย pass คำสั่งและ argument จากpyenv
ลงไป