เปลี่ยน 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ลงไป