أداة virtualenv كأداة لتسهيل البرمجة والعمل بلغة البايثون

ادوات بايثون virtualenv - بايثونات

ادوات بايثون :

ادوات بايثون : من المهم شرح أداة virtualenv لتسهيل العمل أثناء البرمجة بالبايثون. لأنك كمبرمج بايثون، من المؤكد أنك مررت في حالة تريد فيها أن يعمل برنامجك على توزيعتي البايثون 3.5 و 2.7. أو أنك تريد أن تقوم ببناء شيفرة برمجية باستخدام مكتبة مُثبتة لديك ولكن بإصدار أقل أو أعلى، فهل في هذه الحالة ستقوم بحذف المكتبة وإعادة تثبيتها بالإصدار الذي تريد. ماذا عن الحالة الأولى والتي يظن البعض بانها مرعبة، حيث قد يتساءل أحدهم كيف سأثبت إصدارين من البايثون على نفس نظام التشغيل، وكيف سأتعامل مع ذلك؟!

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

تُقدم البايثون الأداة الرائعة المُسماة virtualenv والتي تُمَكننا من إنشاء بيئات بايثون معزولة ومنفصلة عن بعضها البعض وتحتوي على جميع ما يلزم من ملفات ومكتبات أساسية لبناء برنامج بالبايثون، مما يُتيح ديناميكية عالية في بناء البرامج والشيفرات بالبايثون.

أداة virtualenv

هذا المقال يتكلم عن:

      1- كيفية بناء بيئة بايثون باستخدام virtualenv 

      2- كيفية تفعيل البيئة

      3- كيفية الخروج منها

      4- كيفية بناء بيئتي بايثون بتوزيعات 3.5 و 2.7 .

لنضرب لكم مثالا عن حالة يتجلى فيها أهمية استخدام الأداة virtualenv.

لنفترض أنك بحاجة لاستخدام المكتبة Fabric في بناء منظومة إدارة خوادم Linux وتحتاج أن تكون هذه المنظومة متوافقة مع الإصدار رقم 1.14 للمكتبة والإصدار رقم 1.12 في نفس الوقت. لن تستطيع تثبيت إصداري المكتبة في نفس توزيعة البايثون المستخدمة (في حالة كانت واحدة ولا يوجد غيرها) لأن طبيعة بناء واستخدام المكتبات الخارجية في البايثون تتطلب وجود إصدار واحد لأي مكتبة في نفس التوزيعة.

في هذه الحالة ينبغي عليك استخدام الأداة virtualenv لبناء بيئتي بايثون وتقوم بتثبيت الإصدارين الذين تريدهما من المكتبة Fabric كل إصدار في بيئة، ولنفترض أن الإصدار رقم 1.14 ستثبته على بيئة A والإصدار رقم 1.12 على البيئة B.

لتشغيل الشيفرة البرمجية الخاصة بالمنظومة المزمعة على إصدار المكتبة 1.14 نقوم بتفعيل البيئة A.

بعد انتهاءنا من العمل على البيئة A نقوم بتفعيل البيئة B لتشغيل المنظومة باستخدام الإصدار 1.12 من المكتبة.

الجانب العملي

توزيعة البايثون المستخدمة في بناء البيئة  هي 3.5 ونظام التشغيل هو Windows 10 ويتم تنفيذ الأوامر في الشاشة الأوامر cmd.

تثبيت أداة virtualenv

[pastacode lang=”bash” manual=”pip%20install%20virtualenv” message=”” highlight=”” provider=”manual”/]

للتأكد من أن الأداة تم تثبيتها بنجاح، نفذ الأمر التالي:

[pastacode lang=”bash” manual=”virtualenv%20–version” message=”” highlight=”” provider=”manual”/]

إنشاء البيئة

لبناء البيئة الأولى A والتي سنعطيها اسم envA نقوم بتنفيذ الأمر التالي:

[pastacode lang=”bash” manual=”virtualenv%20envA” message=”” highlight=”” provider=”manual”/]

الأمر السابق يقوم بإنشاء مجلد جديد باسم envA في مسار العمل الحالي ومن ثم ينسخ ويُنشئ ملفات البيئة، حيث سيحتوي المجلد على بيئة بايثون جديدة ومصغرة من النسخة 3.5، وستحتوي على مكتبات البايثون الأساسية وستكون خالية من المكتبات الخارجية، بالإضافة لاحتوائها على الأداة pip.

عند تفعيل البيئة، سيكون استخدام pip خاصا بالبيئة الجديدة، ولن يؤثر استخدامها على التوزيعة الرئيسية للبايثون في جهاز الكمبيوتر.

سنقوم بتنفيذ نفس الأمر للبيئة B:

[pastacode lang=”bash” manual=”virtualenv%20envB” message=”” highlight=”” provider=”manual”/]

يوجد لدينا الأن بيئتان جاهزتان للتعامل معهما وتثبيت المكتبات التي نريدها عليهم، ولكن قبل ذلك، يجب علينا توضيح كيفية تفعيل البيئة التي نريدها.

تفعيل البيئة

لتفعيل البيئة envA نقوم بتشغيل ملف الباتش activate الموجود في مجلد scripts داخل مجلد البيئة:

[pastacode lang=”bash” manual=”envA%5CScripts%5Cactivate” message=”” highlight=”” provider=”manual”/]

سيظهر لك سطر الأوامر مسبوقا باسم البيئة المُفعلة محاطا بالأقواس هو موضح بالأسفل. الان تستطيع استخدام الأداة pip لتثبيت مكتبة Fabric بنسختها 1.14 مع الانتباه إلى أن ما تقوم بتثبيته خلال البيئة المفعلة سيتم حفظه في مجلد البيئة وليس له علاقة بتوزيعة البايثون المثبتة على جهازك:

[pastacode lang=”bash” manual=”(envA)%C2%A0%20pip%20install%20fabric%3D%3D1.14″ message=”” highlight=”” provider=”manual”/]

الأن نستطيع تشغيل الشيفرة التي نريدها ونتأكد من عملها مع مكتبة Fabric بالاصدار 1.14:

[pastacode lang=”bash” manual=”(envA)%C2%A0%20python%20my_code.py” message=”” highlight=”” provider=”manual”/]

لتفعيل البيئة envB:

[pastacode lang=”bash” manual=”envB%5CScripts%5CActivate” message=”” highlight=”” provider=”manual”/]

لتثبيت النسخة 1.12 من المكتبة Fabric والتأكد من عمل الشيفرة باستخدامها:

[pastacode lang=”bash” manual=”(envB)%C2%A0%20pip%20install%20fabric%3D%3D1.12%0A%0A(envB)%C2%A0%20python%20my_code.py” message=”” highlight=”” provider=”manual”/]

الخروج من البيئة

عند الإنتهاء من العمل على البيئة وإذا أردنا الخروج منها نُنفذ أمر dactivate من خلال تشغيل الباتش بنفس الاسم والموجود في مجلد Scripts:

[pastacode lang=”bash” manual=”(envB)%20envB%5CScripts%5Cdeactivate” message=”” highlight=”” provider=”manual”/]

أو بتنفيذ الأمر مباشرة:

[pastacode lang=”bash” manual=”(envB)%20deactivate” message=”” highlight=”” provider=”manual”/]

بذلك نكون أتمننا تشغيل شيفرة برمجية واحدة باستخدام بيئتي بايثون مختلفتين ومفصولتين وباستخدام إصدارين مختلفين من المكتبة Fabric مما يجعل الشيفرة Portable مع أكثر من إصدار من المكتبة.

أداة virtualenv وأكثر من توزيعة بايثون

في حالة أردنا أن نجعل الشيفرة البرمجية بالبايثون تعمل على الإصدار 3.5 والإصدار 2.7، فعلينا بناء بيئة لكل توزيعة وأن نطور الشيفرة باستخدام الأداة virtualenv.

سنحتاج في هذه الحالة أن نُخبر الأداة virtualenv من أين تقوم ببناء البيئة، حيث لابد من تحديد مسار التوزيعة التي سنبني منها البيئة.

لبناء بيئة من توزيعة البايثون رقم 3.5 والتي نفترض أنها مثبتة على القرص C:

[pastacode lang=”bash” manual=”virtualenv%20%E2%80%93p%20c%3A%5CPython35%5Cpython.exe%20env35″ message=”” highlight=”” provider=”manual”/]

الخيار p يُحدد المسار الخاص بملف python.exe حسب التوزيعة الموجود بها و env35 هو اسم البيئة.

لتفعيل بيئة من توزيعة البايثون رقم 2.7 والتي نفترض أيضا أنها مثبتة على القرص C:

[pastacode lang=”bash” manual=”virtualenv%20%E2%80%93p%20c%3A%5CPython27%5Cpython.exe%20env2.7″ message=”” highlight=”” provider=”manual”/]

بذلك يكون لدينا بيئة بالإصدار 3.5 من البايثون وأخرى بالإصدار 2.7. نقوم بتفعيل البيئة التي نريدها عند الحاجة.

في نهاية هذه المقال السريع، قدمنا لكم لمحة عن الأداة virtualenv والتي نستطيع القول أنها من المواضيع المهمة والأساسية والتي يجب على كل مبرمج بايثون الإلمام بها، لما تقدمه من سهولة وديناميكية في بناء وتطوير برامج ونظم البايثون.

 

 

مقالات مشابهة

  • jupyter notebook شرح - بايثونات

    Jupyter Notebook – الأداة التي لا يستغني عنها أي عالم ومُحلل بيانات بالبايثون

    تُعد أداة Jupyter Notebook أحد أشهر وأهم الأدوات المُستخدمة أثناء تحليل البيانات. بالإضافة إلى
    ابراهيم البحيصي
    By ابراهيم البحيصي
    تعرف على المزيد
  • برمجة تطبيق بلغة بايثون التسجيل Logging - بايثونات

    التسجيل Logging في البايثون – الدليل البسيط

    برمجة تطبيق بلغة بايثون : برمجة تطبيق بلغة بايثون : أهلاً بكم في بايثونات
    ابراهيم البحيصي
    By ابراهيم البحيصي
    تعرف على المزيد
  • jupyter notebook ماهو - بايثونات

    المفكرة التفاعلية في بايثون – Jupyter NoteBook

    تتمتع أغلب لغات البرمجة بطيف واسع من الأدوات والإضافات التي تُسهل من بناء وتطوير
    ابراهيم البحيصي
    By ابراهيم البحيصي
    تعرف على المزيد
  • ما هي مكتبات البايثون - بايثونات

    ادارة مكتبات بايثون وطريقة تثبيتها

    من النقاط التي تُسبب إلتباسًا لدى الأشخاص الذين يرغبون ببدء تعلم لغة البايثون هي
    ابراهيم البحيصي
    By ابراهيم البحيصي
    تعرف على المزيد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *