- 1 1. แนะนำเบื้องต้น
- 2 2. ตรวจสอบเวอร์ชัน Python (ทำได้ทันที!)
- 3 3. เปลี่ยน/จัดการเวอร์ชัน Python (ตั้งค่าเวอร์ชันเริ่มต้นของระบบ)
- 4 4. วิธีสลับเวอร์ชัน Python แยกตามแต่ละโปรเจกต์
- 5 5. คำถามที่พบบ่อย (FAQ) และการแก้ปัญหา
- 6 6. สรุป & บทความแนะนำถัดไป
- 7 เว็บไซต์ที่เกี่ยวข้อง
1. แนะนำเบื้องต้น
เมื่อใช้งาน Python บน Ubuntu การจัดการเวอร์ชันของ Python ถือเป็นจุดสำคัญอย่างมาก
เนื่องจาก Python มีการออกเวอร์ชันใหม่อย่างสม่ำเสมอ และในแต่ละสภาพแวดล้อมการพัฒนา อาจต้องใช้เวอร์ชันที่แตกต่างกัน
อย่างไรก็ตาม ใน Ubuntu สามารถมี Python หลายเวอร์ชันติดตั้งพร้อมกันได้
ดังนั้นจึงมักพบกับสถานการณ์เช่น
“ต้องการตรวจสอบเวอร์ชัน Python ปัจจุบัน”
“ต้องการใช้งานเวอร์ชันเฉพาะ”
“อยากสลับเวอร์ชัน Python ที่ใช้งาน”
บทความนี้จะแนะนำวิธี ตรวจสอบ เปลี่ยน และสลับเวอร์ชันของ Python บน Ubuntu อย่างละเอียด
พร้อมตัวอย่างคำสั่งจริง อธิบายแบบเข้าใจง่าย แม้แต่ผู้เริ่มต้นก็ทำตามได้
2. ตรวจสอบเวอร์ชัน Python (ทำได้ทันที!)
ก่อนอื่น ขอแนะนำวิธีตรวจสอบเวอร์ชันของ Python ที่ติดตั้งใน Ubuntu ปัจจุบัน
2.1 วิธีที่ง่ายที่สุด (ตรวจสอบได้ภายใน 1 วินาที)
วิธีที่ง่ายและรวดเร็วที่สุดคือ เปิดเทอร์มินัลแล้วรันคำสั่งนี้
python3 --version
หรือจะใช้คำสั่งนี้ก็ได้ ผลลัพธ์เหมือนกัน
python3 -V
ตัวอย่างผลลัพธ์:
$ python3 --version
Python 3.10.6
จะเห็นเวอร์ชัน Python ที่ใช้อยู่ในระบบ
2.2 ความแตกต่างระหว่าง python --version
บน Ubuntu คำสั่ง python
อาจหมายถึง Python 2
ดังนั้นจึงแนะนำให้ใช้ python3 --version
เป็นหลัก
เช็คว่า python
ติดตั้งอยู่หรือไม่ ด้วยคำสั่งนี้
python --version
หากขึ้นว่า Command 'python' not found
หมายความว่า มีแค่ Python 3 เท่านั้นในระบบ
2.3 ตรวจสอบข้อมูลเวอร์ชันอย่างละเอียด
หากต้องการดูรายละเอียดเวอร์ชันเพิ่มเติม ให้ใช้คำสั่งนี้
python3 -VV
ตัวอย่างผลลัพธ์:
$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
จะเห็นข้อมูลเกี่ยวกับ GCC ที่ใช้คอมไพล์และเวลาที่บิลด์โปรแกรม
2.4 ตรวจสอบเวอร์ชันในสคริปต์ Python
ถ้าต้องการตรวจสอบเวอร์ชันจากในสคริปต์ Python ให้ใช้ sys
module
import sys
print(sys.version)
print(sys.version_info)
ตัวอย่างผลลัพธ์:
$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)
สามารถดึงค่าหลักต่างๆ ของเวอร์ชัน (major, minor, micro) ได้จาก sys.version_info
3. เปลี่ยน/จัดการเวอร์ชัน Python (ตั้งค่าเวอร์ชันเริ่มต้นของระบบ)
ใน Ubuntu สามารถติดตั้ง Python หลายเวอร์ชันพร้อมกันได้
ในส่วนนี้จะแนะนำวิธีเปลี่ยน Python เวอร์ชันหลักที่ใช้งานทั้งระบบ
3.1 ตรวจสอบ Python ที่ติดตั้งอยู่ทั้งหมด
ก่อนอื่น ตรวจสอบว่ามี Python เวอร์ชันใดบ้างในระบบ
ls /usr/bin/python*
ตัวอย่างผลลัพธ์:
$ ls /usr/bin/python*
/usr/bin/python3 /usr/bin/python3.8 /usr/bin/python3.10
หากมีหลายเวอร์ชัน สามารถเลือกกำหนดเวอร์ชันที่ต้องการให้เป็นค่าเริ่มต้นได้
3.2 สลับเวอร์ชัน Python ด้วย update-alternatives
Ubuntu รองรับการสลับ Python หลักผ่าน update-alternatives
ตรวจสอบสถานะปัจจุบันด้วย
sudo update-alternatives --display python
หากยังไม่ได้ลงทะเบียน ให้เพิ่มทางเลือกด้วย
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
เลือกเวอร์ชันหลักที่ต้องการด้วย
sudo update-alternatives --config python
ตัวอย่างผลลัพธ์:
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 1 auto mode
1 /usr/bin/python3.10 1 manual mode
2 /usr/bin/python3.8 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
ใส่หมายเลขเวอร์ชันที่ต้องการเปลี่ยน แล้วกด Enter
3.3 เปลี่ยนซิมลิงก์ด้วยตนเอง
หากไม่ใช้ update-alternatives
สามารถแก้ไข symlink ด้วยตนเองได้
sudo ln -sf /usr/bin/python3.10 /usr/bin/python
หลังจากนี้ python
จะชี้ไปที่ python3.10
ทั่วทั้งระบบ

4. วิธีสลับเวอร์ชัน Python แยกตามแต่ละโปรเจกต์
บางครั้งอาจต้องการ จัดการเวอร์ชัน Python แตกต่างกันในแต่ละโปรเจกต์
เช่น โปรเจกต์หนึ่งใช้ Python 3.10 อีกโปรเจกต์ใช้ Python 3.8
ในกรณีนี้ควรใช้ virtual environment (venv) หรือ pyenv เพื่อความสะดวก
ส่วนนี้จะแนะนำวิธี สลับเวอร์ชัน Python ได้ง่ายๆ ด้วย venv และ pyenv
4.1 จัดการเวอร์ชันด้วย venv (Virtual Environment)
Python มีฟีเจอร์ venv
(virtual environment) มาตรฐาน
สามารถจัดการเวอร์ชัน Python และไลบรารีแยกในแต่ละโฟลเดอร์โปรเจกต์ได้
สร้าง virtual environment ด้วย venv
cd ไปยังโฟลเดอร์ที่ต้องการสร้าง virtual environment แล้วรัน
python3 -m venv myenv
จะได้โฟลเดอร์ myenv
ที่เป็น virtual environment
เปิดใช้งาน virtual environment
รันคำสั่งนี้เพื่อ activate
source myenv/bin/activate
เมื่อ activate แล้ว prompt จะเปลี่ยน
(myenv) user@ubuntu:~/project$
ขณะนี้จะใช้ Python ที่อยู่ใน virtual environment
เช็คเวอร์ชัน Python ใน virtual environment
ตรวจสอบเวอร์ชัน Python ใน virtual environment ด้วย
python --version
ปิด virtual environment
ต้องการออกจาก virtual environment ให้ใช้
deactivate
วิธีนี้จะช่วยให้ บริหารจัดการเวอร์ชัน Python และไลบรารีแยกตามโปรเจกต์ได้อย่างอิสระ
4.2 ใช้ pyenv สำหรับจัดการเวอร์ชัน Python
venv
จะช่วยแยกเวอร์ชันในแต่ละ virtual environment
แต่หากอยากสลับ Python เวอร์ชันทั้งระบบอย่างยืดหยุ่น แนะนำให้ใช้ pyenv
ติดตั้ง pyenv
ติดตั้ง pyenv
บน Ubuntu ด้วยคำสั่งนี้
curl https://pyenv.run | bash
หลังติดตั้ง รันคำสั่งนี้เพื่อ refresh environment
exec $SHELL
ติดตั้ง Python เวอร์ชันใหม่ผ่าน pyenv
ติดตั้ง Python เวอร์ชันที่ต้องการด้วย
pyenv install 3.10.6
ตรวจสอบเวอร์ชันที่ติดตั้งได้ด้วย
pyenv install --list
สลับเวอร์ชัน Python ด้วย pyenv
เปลี่ยน Python เวอร์ชันหลักของระบบ
pyenv global 3.10.6
หรือสลับเฉพาะไดเรกทอรี
pyenv local 3.8.10
เช็คเวอร์ชันปัจจุบันด้วย pyenv
ดูว่าใช้เวอร์ชันใดอยู่ใน pyenv
pyenv versions
วิธีนี้ ช่วยให้บริหารจัดการเวอร์ชัน Python สำหรับแต่ละโปรเจกต์ได้อย่างง่ายดาย
5. คำถามที่พบบ่อย (FAQ) และการแก้ปัญหา
รวมข้อสงสัยและแนวทางแก้ปัญหาเกี่ยวกับการจัดการเวอร์ชัน Python บน Ubuntu
Q1: python
กับ python3
ต่างกันอย่างไร?
บน Ubuntu python3
เป็นค่าเริ่มต้น ส่วน python
อาจหมายถึง Python 2
ดังนั้นควรใช้ python3 --version
เป็นหลัก
Q2: กรณี python --version
แสดงเวอร์ชันไม่ตรงตามที่ต้องการ?
สามารถเปลี่ยนค่า default ด้วย update-alternatives
หรือ pyenv
- ใช้
update-alternatives
:
sudo update-alternatives --config python
- ใช้
pyenv
:
pyenv global 3.10.6
Q3: ทำไม python3 --version
ใช้ได้ แต่ python
ไม่ได้?
อาจไม่มี python
ติดตั้งไว้
แก้ไขด้วยการสร้าง symlink ดังนี้
sudo ln -sf /usr/bin/python3 /usr/bin/python
Q4: จะลบ Python เวอร์ชันเก่าออกจาก Ubuntu ได้อย่างไร?
เช็คก่อนว่าติดตั้ง Python อะไรอยู่บ้าง
apt list --installed | grep python
ถ้าต้องการลบเวอร์ชันที่ไม่ใช้
sudo apt remove python3.6
Q5: หากลบ Python เวอร์ชันเก่า Ubuntu จะมีปัญหาไหม?
บางฟีเจอร์ระบบของ Ubuntu อาจผูกกับ Python เวอร์ชันใดเวอร์ชันหนึ่ง
ควรตรวจสอบด้วย python3 --version
ว่ายังมีเวอร์ชันที่จำเป็นเหลืออยู่
ตรวจสอบ Python ที่ติดตั้งก่อนจะลบ
apt list --installed | grep python
6. สรุป & บทความแนะนำถัดไป
ในบทความนี้ ได้อธิบาย วิธีตรวจสอบ เปลี่ยน และสลับเวอร์ชัน Python บน Ubuntu อย่างละเอียด
- ตรวจสอบเวอร์ชัน Python →
python3 --version
- เปลี่ยนเวอร์ชันหลักของระบบ →
update-alternatives
หรือln -sf
- จัดการเวอร์ชันในแต่ละโปรเจกต์ →
venv
หรือpyenv
โดยเฉพาะ pyenv
ทำให้การจัดการเวอร์ชันง่ายขึ้น
หากต้องใช้หลายโปรเจกต์ หรืออยากเปลี่ยน Python หลักของระบบ แนะนำให้ลอง pyenv
ดูครับ
เว็บไซต์ที่เกี่ยวข้อง