إدارة إصدارات Python على Ubuntu: الشرح الكامل للتحقق والتبديل بين الإصدارات

目次

1. المقدمة

عند استخدام Python على Ubuntu، تعتبر إدارة إصدارات Python نقطة هامة جدًا.
يتم إصدار نسخ جديدة من Python بشكل دوري، وقد تحتاج لاستخدام إصدار مختلف حسب بيئة التطوير.

ومع ذلك، يوجد في Ubuntu غالبًا عدة إصدارات من Python مثبتة في نفس الوقت،
وغالبًا ما تواجه الحالات التالية:
「أريد التحقق من إصدار Python الحالي」
「أرغب في استخدام إصدار محدد」
「أريد التبديل بين إصدارات Python」

في هذه المقالة، سنشرح بالتفصيل كيفية التحقق من إصدار Python وتغييره والتبديل بين الإصدارات على Ubuntu.
سنوفر أمثلة للأوامر لنسهل على المبتدئين التطبيق خطوة بخطوة، لذا تابع القراءة حتى النهاية.

侍エンジニア塾

2. كيفية التحقق من إصدار Python الحالي【جرب الآن!】

أولاً، سنوضح كيفية التحقق من إصدار Python المثبت على نظام Ubuntu الخاص بك.

2.1 الطريقة الأسهل (تحقق في ثانية واحدة)

أسهل طريقة لمعرفة إصدار Python على Ubuntu هي تنفيذ الأمر التالي في الطرفية:

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 الحصول على معلومات إصدار تفصيلية

إذا أردت تفاصيل أكثر عن نسخة Python، نفذ الأمر التالي:

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:

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)

باستخدام sys.version_info يمكنك الحصول على عناصر الإصدار (رئيسي، فرعي، إلخ) كأرقام.

3. تغيير وإدارة إصدار Python【تعيين النسخة الافتراضية للنظام】

غالبًا ما تكون هناك عدة إصدارات من Python مثبتة على Ubuntu.
في هذا القسم سنشرح كيف تغير الإصدار الافتراضي المستخدم على النظام.

3.1 التحقق من إصدارات 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

يمكنك التبديل بين الإصدارات الافتراضية باستخدام 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

مثال:

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 تغيير الرابط الرمزي يدويًا

يمكنك أيضًا تغيير الرابط الرمزي (symlink) يدويًا:

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

وبذلك يشير أمر python إلى النسخة التي تحددها.

4. كيفية التبديل بين نسخ Python حسب كل مشروع

عند العمل على Ubuntu، قد تحتاج إلى إدارة نسخ مختلفة من Python لكل مشروع،
مثلاً مشروع يستخدم Python 3.10 وآخر يحتاج Python 3.8.
في هذه الحالة، من المفيد استخدام البيئات الافتراضية (venv) أو pyenv.

سنشرح هنا كيفية التبديل بين نسخ Python بسهولة باستخدام venv وpyenv.

4.1 إدارة الإصدارات باستخدام venv

يحتوي Python على ميزة venv (البيئة الافتراضية) مدمجة.
يمكنك إدارة الإصدارات والمكتبات الخاصة بكل مشروع على حدة.

إنشاء بيئة افتراضية باستخدام venv

انتقل إلى المجلد المطلوب ثم نفذ الأمر التالي:

python3 -m venv myenv

سينشئ ذلك بيئة افتراضية باسم myenv.

تفعيل البيئة الافتراضية

لتفعيل البيئة الافتراضية:

source myenv/bin/activate

سيتغير مؤشر الطرفية عند التفعيل.

(myenv) user@ubuntu:~/project$

الآن يتم استخدام Python الخاص بالبيئة الافتراضية.

التحقق من إصدار Python داخل البيئة الافتراضية

نفذ الأمر التالي داخل البيئة:

python --version

إلغاء تفعيل البيئة الافتراضية

لإلغاء التفعيل:

deactivate

هذه الطريقة تتيح لك إدارة نسخ وإعدادات Python حسب كل مشروع.

4.2 إدارة إصدارات Python باستخدام pyenv

إذا أردت تغيير إصدار Python للنظام بالكامل بحرية، استخدم pyenv.

تثبيت pyenv

لتثبيت pyenv على Ubuntu:

curl https://pyenv.run | bash

بعد التثبيت، نفذ التالي لتحديث البيئة:

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 versions

بهذه الطريقة، يمكنك إدارة نسخ Python بسهولة حسب كل مشروع.

5. الأسئلة الشائعة (FAQ)【حل المشاكل】

في هذا القسم نوضح أكثر الأسئلة والمشاكل شيوعًا عند إدارة نسخ Python على Ubuntu.

س1: ما الفرق بين python و python3؟

في Ubuntu، python3 هو المعيار، وpython قد يشير إلى نسخة Python 2.
لذا يوصى دومًا باستخدام python3 --version للتحقق من الإصدار.

س2: كيف أتعامل مع اختلاف الإصدار عند تنفيذ python --version؟

يمكنك تغيير الإصدار الافتراضي باستخدام update-alternatives أو pyenv:

  • طريقة update-alternatives:
sudo update-alternatives --config python
  • طريقة pyenv:
pyenv global 3.10.6

س3: لماذا لا يعمل أمر python رغم عمل python3 --version؟

قد لا يكون أمر python مثبتًا. يمكنك حل ذلك بإنشاء رابط رمزي:

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

س4: كيف أحذف إصدار قديم من Python على Ubuntu؟

أولاً تحقق من الإصدارات المثبتة:

apt list --installed | grep python

لحذف نسخة محددة:

sudo apt remove python3.6

س5: هل حذف نسخة Python قديمة يؤثر على Ubuntu؟

تعتمد بعض أدوات النظام على نسخ Python معينة.
تحقق من نسخة python3 --version قبل الحذف، وتأكّد من وجود الإصدار المطلوب.

قبل حذف أي نسخة، تحقق أولًا من المثبت:

apt list --installed | grep python

6. الخلاصة & مواضيع للقراءة لاحقًا

حتى الآن، شرحنا بالتفصيل كيفية التحقق وتغيير وإدارة نسخ Python على Ubuntu.

  • التحقق من النسخة:python3 --version
  • تغيير النسخة للنظام:update-alternatives أو ln -sf
  • إدارة الإصدارات حسب المشروع:venv أو pyenv

ننصح باستخدام pyenv لإدارة نسخ Python بسهولة.
إذا أردت استخدام نسخ مختلفة حسب المشاريع أو تغيير الافتراضي للنظام، جرّب pyenv.

مواقع ذات صلة

Pythonプログラミングの世界

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