Published
- 2 min read
Install Python และ control version ด้วย Pyenv

Intro
บทความนี้เหมาะกับ : ผู้ที่ไม่อยากหลงทางกับการติดตั้ง Python เพราะเราหลงให้ก่อนแล้ว … 🤣
แก้ปัญหา : การจัดการ Python version เมื่อแต่ละ project ใช้คนละ version กัน โดยไม่ต้องลบลงใหม่หรือ brew link, brew unlink
การพัฒนาซอฟต์แวร์บน macOS มักต้องเผชิญกับการจัดการเวอร์ชันของ Python ที่ต่างกันระหว่างโปรเจกต์ต่าง ๆ โดยเฉพาะเมื่อโปรเจกต์ต่าง ๆ ต้องการเวอร์ชัน Python ที่แตกต่างกันเพื่อให้ทำงานได้ตามความต้องการของมัน ในบทความนี้ เราจะสอนวิธีใช้ pyenv เพื่อจัดการเวอร์ชัน Python ใน macOS อย่างง่ายดาย
Install Pyenv
การติดตั้ง Pyenv บน macOS ด้วย homebrew
ref: https://github.com/pyenv/pyenv
brew update
brew install pyenv
ตรวจสอบ Pyenv version
pyenv --version
Setup shell environment
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
Reset shell
exec "$SHELL"
การใช้งาน
สร้าง Project 1
ทดลองสร้าง Project1 และใช้ Python version 3.12.2
mkdir project1
cd project1
pyenv install 3.12.2
pyenv local 3.12.2
python -V
เมื่อ check version ก็จะเป็น Python 3.12.2
สร้าง Project 2
ทดลองสร้าง Project2 และใช้ Python version 3.11.8
mkdir project2
cd project2
pyenv install 3.11.8
pyenv local 3.11.8
python -V
เมื่อ check version ก็จะเป็น Python 3.11.8
สังเกตว่าใน project จะมีไฟล์ .python-version สร้างขึ้นมาในแต่ละ project
ซึ่งเนื้อหาในไฟล์จะมีการบอกว่า project นี้ใช้ python version อะไร
และเมื่อเราสลับ project ไปมา ตัว shell ก็จะรู้เองว่าต้องใช้ python version อะไร โดยที่เราไม่ต้องใช้คำสั่ง pyenv local <version> อีกแล้ว
Tips
- pyenv shell <version> — select just for current shell session
- pyenv local <version> — automatically select whenever you are in the current directory (or its subdirectories)
- pyenv global <version> — select globally for your user account
สรุป
การจัดการเวอร์ชัน Python ใน macOS ไม่ต้องเป็นปัญหาอีกต่อไปด้วยการใช้ pyenv ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพและง่ายต่อการใช้งาน การใช้ pyenv เพื่อสร้างและสลับเวอร์ชัน Python สามารถช่วยให้การพัฒนาซอฟต์แวร์ของคุณเป็นไปอย่างมีประสิทธิภาพและรวดเร็วมากขึ้น
What’s next ?
ถ้าแต่ละ Project ใช้ python dependencies คนละ version ล่ะ ? เราควรทำยังไง ?
ติดตามต่อได้ที่ Devbrite ขอบคุณครับ