اذهب إلى المحتوى

إعداد بيئة العمل للمشاريع مع بايثون


Bassel Alkhatib

تُناسب بايثون الكثير من التطبيقات البرمجية نظرًا لتمتعها بالعديد من المزايا المهمة كالمرونة العالية وتوفير المكتبات الجاهزة فيها للقيام بعمليات الأتمتة وتحليل البيانات ومعالجة مسائل تعلم الآلة والتطوير الخلفي back-end وغيرها من المهام البرمجية بسرعة وسهولة. ظهرت النسخة الأولى منها في عام 1991 وسُميت تيمنًا بالفرقة الكوميدية البريطانية Monty Python هادفة جعل كتابة الكود فيها أمرًا ممتعًا، ويعد الإصدار الثالث أحدث نسخة وهو المستقبل الواعد لبايثون.

يعرض هذا المقال خطوات تثبيت بيئة بايثون على الحاسوب المحلي أو الخادم البعيد لتطبيق المشاريع العملية اللاحقة في الكتاب، أما إذا كان بايثون مع أدواته pip و venv جاهزًا على حاسوبك فيُمكنك الانتقال مباشرة إلى الفصل التالي.

المتطلبات الرئيسية

نعمل في بيئة لينكس Linux أو الشبيهة بيونكس Unix-like ونستخدم ضمن نظام التشغيل ماكنتوش macOS سطر الأوامر command line أو بيئة الطرفية terminal environment، أما في نظام ويندوز، فيمكن استعمال بورشيل PowerShell لتحقيق نفس النتائج عمليًا.

الخطوة الأولى: تثبيت بايثون

يثبت بايثون على العديد من أنظمة التشغيل بشكل افتراضي. للتأكد من وجود الإصدار 3 من بايثون مثبتًا على جهازك قم بفتح نافذة طرفية واكتب فيها ما يلي:

python3 -V

سيظهر، في حال كون الإصدار 3 من بايثون مثبتًا، رقم الإصدار والذي يُمكن بالطبع أن يختلف حسب النسخة المُنصبة، وفي جميع الأحوال، يكون الخرج مشابهًا لما يلي:

Python 3.7.2 

في حال لم تحصل على الإظهار السابق، فعليك أولًا تنزيل النسخة من موقع بايثون python.org ومن ثم اتباع خطوات التثبيت المُحدّدة. بعد انتهائك من تثبيت بايثون وتأكدك من ذلك بمعاينة رقم الإصدار باتباع التعليمة السابقة يُمكنك الانتقال للخطوة التالية.

الخطوة الثانية: تثبيت pip

يجب تثبيت الأداة pip والتي تسمح بتثبيت وإدارة حزم البرمجيات المساندة لبايثون. ستكون هذه الأداة جاهزة فيما لو قمت بتثبيت بايثون من الموقع python.org، أما إذ كنت على خادم أو حاسوب بتوزيعة أبنتو Ubuntu أو ديبيان Debian فيُمكنك تنزيل pip بكتابة ما يلي:

sudo apt install -y python3-pip

من الآن فصاعدًا، يُمكنك تنزيل أي حزمة برمجيات بكتابة:

pip3 install package_name

حيث package_name هي اسم أي مكتبة أو حزمة برمجية لبايثون مثل جانغو Django لتطوير مواقع الويب والحزمة NumPy للحسابات العلمية، فإذا كنت مثلًا تريد استخدام المكتبة NumPy فعليك تنزيلها بكتابة الأمر التالي:

install numpy

يوجد بعض الحزم البرمجية الأساسية الواجب تحميلها للحصول على بيئة عمل مريحة ومرنة:

sudo apt install build-essential libssl-dev libffi-dev python3-dev

يُمكن الآن بعد الانتهاء من المراحل السابقة إعداد بيئة عمل افتراضية.

الخطوة الثالثة: إعداد بيئة عمل افتراضية

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

يُمكن إنشاء بيئة عمل افتراضية لكل مشروع وهي عمليًا عبارة عن مجلد معين على الخادم مع بعض الشيفرات البرمجية ضمنه. نستخدم عادةً الأداة venv لإنشاء بيئة عمل افتراضية والتي هي جزء من مكتبة بايثون وتُثبت تلقائيًا خلال تثبيت بايثون.

إذ كنت على خادم أو حاسوب Ubuntu أو Debian فيُمكنك تحميل venv بكتابة ما يلي:

sudo apt install -y python3-venv

انتقل لمجلد معين على حاسوبك لوضع بيئة العمل فيه أو قم بإنشاء مجلد جديد باستخدام تعليمة إنشاء مجلد mkdir ثم انتقل له باستخدام تعليمة الانتقال لمجلد cd كما يلي:

mkdir environments
cd environments

يُمكنك الآن إنشاء بيئة العمل ضمن المجلد الذي انتقلت له وذلك بكتابة ما يلي:

python3.6 -m venv my_env

حيث my_env هو اسم بيئة العمل الذي تريده، مع ملاحظة كتابة القسم الأول من رقم الإصدار الذي حصلت عليه سابقًا باستخدام python -V (المثال أعلاه يستخدم الإصدار Python 3.6.3). لو كُنت مثلًا تستخدم الإصدار Python 3.7.3 فعليك كتابة:

python3.7 -m venv my_env

يسمح لك ويندوز بتجاهل رقم الإصدار كليةً وكتابة ما يلي:

python -m venv my_env

بعد تنفيذ الأمر المناسب لإنشاء بيئة العمل، يُمكن التأكد من إتمام العملية بالاستمرار في الخطوات التالية والتي من أولها معاينة الملفات التي قام venv بإنشائها في المجلد الموافق والتي يُمكن إظهارها باستخدام أمر استعراض محتوى مجلد ls:

ls my_env

ليكون الخرج:

bin include lib lib64 pyvenv.cfg share

تعمل هذه الملفات على التأكد من العزل الكامل لملفات مشروعك عن باقي ملفات حاسوبك وبذا فلن تختلط ملفاتك مع ملفات نظام التشغيل أبدًا. تسمح هذه الممارسة الجيدة في التحكم بالإصدارات المختلفة للمشروع والتأكد من أن مشروعك يستخدم الحزم البرمجية التي يحتاج إليها.

يُمكن استخدام الحزمة البرمجية الجاهزة Python Wheels التي تسمح بتسريع عملية تطوير البرمجيات وتنفيذ المشروع والموجودة في المجلد share في Ubuntu 18.04، ويجب تفعيل هذه الحزمة قبل بدء استخدامها بكتابة الأمر التالي والذي يقوم باستدعاء السكربت activate:

source my_env/bin/activate 

من الآن فصاعدًا، ستبدأ أوامرك باسم بيئة العمل (المدعوة في أمثلتنا my_env). يُمكن للبادئة أن تظهر أحيانًا بشكل مختلف وذلك حسب الإصدار المستخدم من لينكس ديبيان Debian Linux إلا أنه، وفي جميع الأحوال، يجب أن تبدأ أوامرك باسم بيئة العمل ضمن قوسين:

(my_env) sammy@sammy:~/environments$

تُحدّد هذه البادئة بأن بيئة العمل my_env هي البيئة النشطة الحالية مما يعني أنه عندما نُنشئ برامج هنا فستستخدم إعدادات ومكتبات هذه البيئة.

لاحظ أنه يُمكنك ضمن بيئة العمل الافتراضية استخدام python عوضًا عن python3 و pip عوضًا عن pip3 إن وجدت ذلك مناسبًا. أما خارج بيئة العمل الافتراضية فلا يُمكنك القيام بذلك بل عليك استخدام python3 و pip3.

الخطوة الرابعة: إنشاء البرنامج الأول

يُمكنك الآن إنشاء البرنامج التقليدي الترحيبي الأول "Hello, World" مما يسمح لك بالتأكد من جاهزية بيئة العمل.

افتح مثلًا محرر النصوص nano وأنشئ ملفًا جديدًا:

(my_env) sammy@sammy:~/environments$ nano hello.py

ثم اكتب في نافذة المحرر المفتوحة أول برنامج بسيط في بايثون:

print("Hello, World!")

أغلق المحرر nano بالضغط على الاختصار Ctrl+X ولا تنسَ حفظ الملف بالإجابة بنعم y عندما تُسأل عن حفظ الملف.

بعد إغلاق nano والعودة لصدفة shell النظام، يُمكنك تنفيذ البرنامج السابق hello.py:

(my_env) sammy@sammy:~/environments$ python hello.py

والذي سيُظهر على المحطة الطرفية:

Hello, World!

للخروج من بيئة العمل والعودة للمجلد الأساسي، نفذّ الأمر:

deactivate

النتائج

لقد حصلت نتيجة تطبيقك للخطوات السابقة على بيئة بايثون جاهزة لاحتضان المشاريع البرمجية على حاسوبك ويُمكنك الآن الانطلاق في تطبيق المشاريع البرمجية في الفصول التالية!

إن أردت التعرف أكثر على بايثون، فيمكنك الرجوع إلى كتاب البرمجة بلغة بايثون.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...