วิธีตรวจสอบและสลับเวอร์ชัน Python บน Ubuntu: คู่มือครบวงจรสำหรับนักพัฒนา

目次

1. Introduction

เมื่อใช้ Python บน Ubuntu, การจัดการเวอร์ชันของ Python กลายเป็นงานที่สำคัญ
Python มีการปล่อยเวอร์ชันใหม่บ่อยครั้ง และขึ้นอยู่กับสภาพแวดล้อมการพัฒนา คุณอาจต้องใช้เวอร์ชันที่ต่างกัน

อย่างไรก็ตาม Ubuntu อาจมี หลายเวอร์ชันของ Python ถูกติดตั้ง ทำให้เกิดสถานการณ์เช่น:
“ต้องการตรวจสอบเวอร์ชัน Python ปัจจุบัน”
“ต้องการใช้เวอร์ชันเฉพาะ”
“ต้องการสลับเวอร์ชัน Python”
สถานการณ์เหล่านี้เกิดบ่อยครั้ง

บทความนี้อธิบายอย่างละเอียด วิธีตรวจสอบ, เปลี่ยนแปลง, และสลับเวอร์ชัน Python บน Ubuntu
พร้อมตัวอย่างคำสั่ง แม้ผู้เริ่มต้นก็สามารถทำตามได้ง่าย อย่าลืมอ่านจนจบ

2. How to Check the Python Version on Ubuntu【Try It Now!】

ก่อนอื่นมาดูวิธีตรวจสอบว่าเวอร์ชัน Python ใดที่ติดตั้งอยู่บน Ubuntu ปัจจุบัน

2.1 The Easiest Way (Check in 1 Second)

วิธีที่ง่ายที่สุดในการตรวจสอบเวอร์ชัน Python ของคุณบน Ubuntu คือการรันคำสั่งต่อไปนี้ในเทอร์มินัล:

python3 --version

คุณสามารถได้ผลลัพธ์เดียวกันโดยใช้:

python3 -V

Example:

$ python3 --version
Python 3.10.6

คำสั่งนี้จะแสดงเวอร์ชัน Python ปัจจุบัน

2.2 Difference Between python --version and python3 --version

บน Ubuntu, คำสั่ง python อาจหมายถึง Python 2
ดังนั้นจึงแนะนำให้ใช้ python3 --version

คุณสามารถตรวจสอบว่า python ถูกติดตั้งหรือไม่โดยรัน:

python --version

หากคุณเห็นข้อความ Command 'python' not found แสดงว่า อาจมีเพียง Python 3 เท่านั้นที่ติดตั้ง

2.3 Get Detailed Version Information

หากต้องการข้อมูลรายละเอียดเพิ่มเติม ให้รัน:

python3 -VV

Example:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

คำสั่งนี้จะแสดงรายละเอียดเช่นเวอร์ชัน GCC ที่ใช้คอมไพล์และวันที่สร้าง

2.4 Check the Python Version Inside a Script

หากต้องการตรวจสอบเวอร์ชัน Python จากภายในสคริปต์ ให้ใช้โมดูล sys:

import sys
print(sys.version)
print(sys.version_info)

Example:

$ 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)

โดยใช้ sys.version_info คุณสามารถดึงแต่ละส่วนของเวอร์ชัน (major, minor, micro) เป็นตัวเลขได้

3. How to Change or Manage Python Versions【Set System Default】

Ubuntu อาจมีหลายเวอร์ชันของ Python ถูกติดตั้ง
ส่วนนี้อธิบายวิธีเปลี่ยนเวอร์ชัน Python เริ่มต้นของระบบทั้งหมด

3.1 Check Installed Python Versions

เพื่อตรวจสอบว่า Python เวอร์ชันใดบ้างที่ติดตั้งอยู่ ให้รัน:

ls /usr/bin/python*

Example:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

หากมีหลายเวอร์ชันติดตั้งอยู่ คุณสามารถเลือก เวอร์ชันที่ต้องการใช้เป็นค่าเริ่มต้น ได้

3.2 Switch the Default Python Using update-alternatives

คุณสามารถสลับเวอร์ชัน Python เริ่มต้นโดยใช้ update-alternatives

แรกเริ่มตรวจสอบการตั้งค่าปัจจุบัน:

sudo update-alternatives --display python

หาก 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

Example:

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:

ใส่หมายเลขของเวอร์ชันที่คุณต้องการสลับไป

3.3 Manually Change the Symbolic Link

คุณยังสามารถเปลี่ยนลิงก์สัญลักษณ์ด้วยตนเองแทนการใช้ update-alternatives ได้:

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

นี่จะบังคับให้คำสั่ง python ใช้ python3.10 ทั่วระบบ.

4. วิธีสลับเวอร์ชัน Python ตามโครงการ

เมื่อทำงานกับ Python บน Ubuntu คุณอาจต้องการ ใช้เวอร์ชัน Python ที่แตกต่างกันสำหรับโครงการต่าง ๆ.
เช่น โครงการหนึ่งอาจต้องการ Python 3.10, ในขณะที่อีกโครงการหนึ่งอาจต้องการ Python 3.8.
ในกรณีเช่นนี้ การใช้ virtual environments (venv) หรือ pyenv มีประโยชน์อย่างมาก.

ส่วนนี้อธิบายวิธีสลับเวอร์ชัน Python อย่างง่ายโดยใช้ virtual environments และ pyenv.

4.1 จัดการเวอร์ชัน Python ตามสภาพแวดล้อมโดยใช้ venv

Python มี venv (virtual environments) เป็นฟีเจอร์มาตรฐาน.
โดยการใช้ virtual environments คุณสามารถจัดการเวอร์ชัน Python หรือไลบรารีต่าง ๆ ในแต่ละไดเรกทอรีได้.

สร้าง Virtual Environment ด้วย venv

ย้ายไปยังไดเรกทอรีที่คุณต้องการสร้าง virtual environment แล้วรัน:

python3 -m venv myenv

คำสั่งนี้จะสร้าง virtual environment ชื่อ myenv.

เปิดใช้งาน Virtual Environment

เพื่อเปิดใช้งาน virtual environment ให้รัน:

source myenv/bin/activate

เมื่อเปิดใช้งานแล้ว คำสั่งพรอมต์ในเทอร์มินัลจะเปลี่ยนไป:

(myenv) user@ubuntu:~/project$

ขณะเปิดใช้งาน จะใช้เวอร์ชัน Python ที่กำหนดในสภาพแวดล้อมนั้น.

ตรวจสอบเวอร์ชัน Python ภายในสภาพแวดล้อม

เพื่อตรวจสอบเวอร์ชัน Python ภายใน virtual environment ให้รัน:

python --version

ปิดการใช้งาน Virtual Environment

เพื่อออกจาก virtual environment ให้รัน:

deactivate

ด้วยวิธีนี้ คุณสามารถ จัดการเวอร์ชัน Python และแพ็กเกจแยกกันสำหรับแต่ละโครงการ.

4.2 จัดการเวอร์ชัน Python ด้วย pyenv

ในขณะที่ venv จัดการ Python ตามโครงการ,
หากคุณต้องการสลับเวอร์ชัน Python ทั่วระบบได้อย่างอิสระ pyenv จะสะดวกมาก.

ติดตั้ง pyenv

ขั้นแรก ให้ติดตั้ง pyenv.
เพื่อติดตั้ง pyenv บน Ubuntu ให้รัน:

curl https://pyenv.run | bash

จากนั้นใช้การตั้งค่าด้วย:

exec $SHELL

ติดตั้งเวอร์ชัน Python ด้วย pyenv

เพื่อติดตั้งเวอร์ชัน Python ด้วย pyenv:

pyenv install 3.10.6

เพื่อตรวจสอบเวอร์ชันที่มีทั้งหมด:

pyenv install --list

สลับเวอร์ชัน Python ด้วย pyenv

เพื่อเปลี่ยนเวอร์ชัน Python ทั้งระบบ (global):

pyenv global 3.10.6

เพื่อเปลี่ยนเวอร์ชัน Python สำหรับไดเรกทอรีเฉพาะ:

pyenv local 3.8.10

ตรวจสอบเวอร์ชัน Python ปัจจุบันของ pyenv

เพื่อตรวจสอบว่า pyenv กำลังจัดการเวอร์ชัน Python ใดบ้าง ให้รัน:

pyenv versions

นี่ทำให้คุณสามารถ จัดการเวอร์ชัน Python ที่แตกต่างกันตามโครงการได้อย่างง่ายดาย.

5. คำถามที่พบบ่อย (FAQ) (การแก้ไขปัญหา)

ต่อไปนี้เป็นคำถามทั่วไปและเคล็ดลับการแก้ไขปัญหาเมื่อจัดการเวอร์ชัน Python บน Ubuntu.

Q1: ความแตกต่างระหว่าง python กับ python3 คืออะไร?

บน Ubuntu python3 เป็นมาตรฐาน ส่วน python อาจหมายถึง Python 2.
ดังนั้น แนะนำให้ใช้ python3 --version.

Q2: ถ้า python --version แสดงเวอร์ชันที่ไม่คาดคิดจะทำอย่างไร?

คุณสามารถเปลี่ยนเวอร์ชัน Python เริ่มต้นด้วย update-alternatives หรือ pyenv.

  • ใช้ update-alternatives :
    sudo update-alternatives --config python
    
  • ใช้ pyenv :
    pyenv global 3.10.6
    

Q3: ทำไม python3 --version ถึงทำงานได้แต่ python ไม่ทำงาน?

คำสั่ง python อาจไม่ได้ติดตั้ง.
สร้างลิงก์สัญลักษณ์เพื่อแก้ไข:

sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4: จะลบเวอร์ชัน Python เก่าออกจาก Ubuntu อย่างไร?

ขั้นแรก ให้แสดงรายการแพ็กเกจ Python ที่ติดตั้งอยู่:

apt list --installed | grep python

เพื่อลบเวอร์ชัน Python เฉพาะ:

sudo apt remove python3.6

Q5: การลบเวอร์ชัน Python เก่าจะส่งผลต่อ Ubuntu หรือไม่?

เครื่องมือระบบของ Ubuntu บางตัวพึ่งพาเวอร์ชัน Python เฉพาะ.
ตรวจสอบด้วย:

python3 --version

Before removing anything, always verify what is installed:

apt list --installed | grep python

6. สรุป & บทความแนะนำ

ในคู่มือนี้ เราได้ครอบคลุม วิธีตรวจสอบ, เปลี่ยนแปลง, และสลับเวอร์ชันของ Python บน Ubuntu.

  • ตรวจสอบเวอร์ชัน Pythonpython3 --version
  • เปลี่ยนเวอร์ชันทั่วระบบupdate-alternatives หรือ ln -sf
  • จัดการเวอร์ชันต่อโครงการvenv หรือ pyenv

การใช้ pyenv ทำให้การจัดการเวอร์ชันของ Python ง่ายเป็นพิเศษ.
หากคุณต้องการเวอร์ชัน Python ที่แตกต่างกันในหลายโครงการหรืออยากเปลี่ยนค่าเริ่มต้นของระบบ ลองใช้ pyenv.

เว็บไซต์ที่เกี่ยวข้อง

Practical Python Programming

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…