Blog About
Table of Contents
  • ปัญหาที่เจอ
  • ติดตั้ง
  • เริ่มใช้งาน pyenv กัน
  • อ่านเพิ่ม

python สลับ version

Apisit N.
28 Apr 2025

pyenv เป็น version manager ช่วยให้เราสลับไปมาระหว่าง Python หลายเวอร์ชันได้ง่าย ๆ เป็นเครื่องมือที่ใช้ไม่ยาก ออกแบบมาให้ทำหน้าที่เดียว คือ จัดการ Python เวอร์ชันต่าง ๆ

ปัญหาที่เจอ

ไม่ว่าจะเป็นภาษาใดก็ตาม บางงานต้องใช้ Python 3.7 บางงานต้องใช้ Python 3.11 — pyenv ช่วยให้สลับเวอร์ชันได้ง่าย ๆ ได้ในเครื่องเดียว ไม่ยุ่งกับ Python ของระบบ โดยจะติดตั้ง Python แยกเพิ่ม ไม่เกี่ยวข้องกับ Python ที่ติดมากับเครื่อง

ติดตั้ง

จากตัวอย่างจะใช้ macos สำหรับ window อ่านเพิ่มใน office document

Terminal window
1
# MacOS
2
brew update
3
brew install pyenv

ตั้งค่า shell

Terminal window
1
# Zsh
2
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
3
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
4
echo 'eval "$(pyenv init - zsh)"' >> ~/.zshrc

Restart ปิดแล้วเปิด shell ใหม่

Terminal window
1
exec "$SHELL"

เริ่มใช้งาน pyenv กัน

ลองจรวจสอบว่าเราติดตั้งสำเร็จแล้วหรือยังสามารถเรียกใช้คำสั่ง pyenv ตรวจสอบ version

Terminal window
1
pyenv --version

ตรวจสอบ shell path

Terminal window
command -v pyenv
pyenv root

เรามี python version อะไรติดตั้งไว้แล้วบ้าง

Terminal window
1
pyenv versions

มี python version อะไรสามารถติดตั้งเพิ่มได้บ้าง

Terminal window
1
pyenv install --list

ติดตั้ง python version

Terminal window
1
pyenv install 3.13.2

ตอนนี้เราใช้ version อะไรอยู่

Terminal window
1
pyenv version
2
python --version

สลับหรือเรียกใช้ python version ที่ต้องการ

Terminal window
1
pyenv global 3.13.2
2
pyenv local 3.12.9

เมื่อใช้คำสั่ง pyenv local [version] จะสร้างไฟล์ชื่อ .python-version ในโฟลเดอร์ ภายในไฟล์นี้จะระบุเวอร์ชันของ Python ที่ใช้งาน เช่น 3.12.9 ซึ่งทำให้ทุกครั้งที่เราเปิด shell และอยู่ในโฟลเดอร์นั้น (หรือโฟลเดอร์ย่อยของมัน) pyenv จะปรับให้ใช้ Python เวอร์ชันที่ระบุไว้ใน .python-version โดยอัตโนมัติ

สร้าง virtual environment ใช้สำหรับงานนี้เท่านั้น มีแพ็กเกจแยกกันไม่ปนกับงานอื่นด้วย virtualenv

Terminal window
1
pyenv virtualenv 3.12.9 myenv1

ใช้งาน environment จากนั้นติดตั้ง packages ต่างๆ ได้เลย

Terminal window
1
pyenv local myenv1
2
3
# install pacakge
4
pip install [packages]
5
# list all packages that installed
6
pip list
7
# Output installed packages in requirements format
8
pip freeze > requirements.txt
9
# or install from requirements file
10
pip install -r requirements.txt

เรียกดู virtual environment ที่เราเคยสร้าง

Terminal window
1
pyenv virtualenvs

ลบ virtual environment ที่ไม่ใช้แล้ว

Terminal window
1
pyenv virtualenv-delete myenv1

อ่านเพิ่ม

  • https://github.com/pyenv/pyenv
© 2025 Apisit N.