11 กันยายน 2563

Published กันยายน 11, 2563 by with 0 comment

pyenv แก้ปัญหารุ่นของ Python แบบง่าย ๆ

สวัสดีนักพัฒนาโปรแกรมทุก ๆ ท่านนะครับ หลายคนที่ใช้ภาษา Python อาจจะเจอปัญหาเรื่อง รุ่นของ Python ที่แตกต่างกันเวลาพัฒนา เช่น สมมติ เราพัฒนาบน Python 3.8 แล้วต้องการทดสอบว่าใช้งานบน Python 3.6 ได้ไหม ซึ่งหลายคนต้องลง Python หลายรุ่นในเครื่องเดียวกัน เพื่อทดสอบความเข้ากันได้ของโค้ดที่เขียนด้วย Python และหลายคนจำเป็นต้องใช้โค้ดโปรแกรมที่เขียนบน Python 2.7 ที่หมดการสนับสนุนไปแล้ว เนื่องจากไม่ได้ port มา Python 3 ยิ่งทำให้ปัญหารุ่นของ Python ยิ่งสับสนยิ่งขึ้นเวลาเรียกคำสั่ง python


ทางออกของปัญหานี้ที่ง่าย ๆ คือ ใช้ pyenv

pyenv เป็นเครื่องมือสำหรับจัดการรุ่นของ Python แบบง่าย ๆ รองรับการสลับรุ่นของ python รองรับทั้ง macOS และ Linux โดยสำหรับ Windows จะใช้ในชื่อ pyenv-win

การติดตั้ง
สำหรับ Windows ให้เปิด Powershell ขึ้นแล้ว ใช้คำสั่ง
pip install pyenv-win --target $HOME\.pyenv
macOS ใช้คำสั่ง
brew update
brew install pyenv
สำหรับ linux สาย Debain/Ubuntu ทำตามเอกสาร https://www.liquidweb.com/kb/how-to-install-pyenv-on-ubuntu-18-04/ ได้เลย

นอกจากติดตั้งเสร็จแล้ว เรามาใช้งาน python หลายรุ่นแบบง่าย ๆ ด้วย pyenv กันครับ

การใช้งานเบื้องต้น

ก่อนอื่นให้อัปเดตรายชื่อ python ด้วยคำสั่ง
pyenv update
ดูรายชื่อรุ่น python ที่มีทั้งหมดได้ด้วยคำสั่ง
pyenv install -l
เอาล่ะ เรามาลง Python รุ่นต่าง ๆ กัน

สมมติ ตอนนี้ผมใช้ Python 3.7.4 อยู่ ต้องการไปใช้ Python 3.8.5 ก่อนอื่นผมต้องลง Python 3.8.2 ก่อน (เฉพาะในครั้งแรก) ด้วยคำสั่ง
pyenv install 3.8.5
แล้วใช้คำสั่ง
pyenv global 3.8.5
เพียงเท่านี้ เราก็สลับมาใช้งาน Python 3.8.5 เรียบร้อยแล้วแบบง่าย ๆ นอกจากนั้น pyenv ยังรองรับการลงหลายรุ่นในคราวเดียวกัน เช่น ลง Python 3.8.5 กับ Python 3.7.4
pyenv install 3.8.5 3.7.4
สรุป pyenv แก้ปัญหารุ่นของ Python แบบง่าย ๆ โดยทำให้การสลับรุ่นของ Python ทำให้ง่ายและสะดวกกว่าเดิม

อ่านเอกสารการใช้งาน pyenv ได้ที่ https://github.com/pyenv/pyenv
และอ่านเอกสารของ pyenv-win สำหรับผู้ใช้งานบน Windows ได้ที่ https://github.com/pyenv-win/pyenv-win

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)