ادارة مكتبات بايثون وطريقة تثبيتها
من النقاط التي تُسبب إلتباسًا لدى الأشخاص الذين يرغبون ببدء تعلم لغة البايثون هي كيفية تثبيت المكتبات فيها. نعمل في فريق بايثونات على تسليط الضوء على بعض المفاهيم والمواضيع التي تُسبب بعضًا من الحيرة لدى المبتدئين في كيفية ادارة مكتبات بايثون. هذا المقال يُركز على المصطلحات الخاصة بآلية تثبيت مكتبات البايثون وتعريفها مع ذكر بعض الأمثلة العملية. لا يتطرق هذا المقال لموضوع التحزيم Packaging او كيفية نشر برمجية البايثون لأن ذلك يحتاج لمقالٍ اخر.
المصطلحات الخاصة بعدة أدوات مثل pip و PyPI و Setuptools و Wheels و easy_install و Eggs قد تجعل المبتدئين في تعلم اللغة في وضع لا يُحسد عليه، كما حدث مع الكثير في بداية تعلم البايثون.
مصطلحات مهمة في ادارة مكتبات بايثون
PyPI: هو إختصارٌ لمصطلح Python Package Index وهو عبارة عن مستودع برمجيات البايثون على الانترنت، ويُعتبر المصدر التلقائي لأدوات إدارة وتثبيت برمجيات البايثون مثل أداة pip. يقوم أغلب مبرمجو البايثون بنشر شيفراتهم البرمجية ومكتباتهم وحفظها في هذا المستودع.
Egg: عبارة عن ملف مضغوط (تستطيع فتحه بأي برنامج ضغط) يستخدم كطريقة لنشر مكتبات او شيفرات البايثون، فهو يشبه لحد كبير دور ملفات ال jar في لغة الجافا أو ملفات rpm في نظام تشغيل اللينكس، ويحتوي على الشيفرة البرمجية وملفات خاصة تسمى metadata.
easy_install: عبارة عن أداة هدفها تمكين المُبرمج من تثبيت أو إدارة حزم ومكتبات البايثون، وتعتبر هذه الأداة هي النسخة القديمة لأداة pip التي سنذكرها بالأسفل.
Wheels: هو المعيار الجديد والمعتمد لنشر برمجيات وشيفرات البايثون، ويعتبر ملف wheel ملف مضغوط كما ملف egg، وعليه، فإن معيار wheel يُعتبر النسخة الجديدة والبديلة لمعيار egg.
pip: تعتبر الأداة المعتمدة حاليًا في تثبيت وإدارة الحزم والمكتبات في البايثون، وتُعتبر بديلًا للأداة السابقة easy_install.
التثبيت باستخدام ملفات pip و easy_install
يُمكننا تثبيت برمجية البايثون الموجودة على شكل ملف egg بإستخدام ال easy_install. المثال التالي يوضح كيفية استخدام easy_install في تثبيت مكتبة بايثون موجودة في ملف egg:
يُمكننا أيضًا ان نُمرر رابط لملف egg اذا كان موجودًا على خادم او موقع معين:
الطريقة الأخرى لتثبيت مكتبة ما عن طريق easy_install، وفي حالة لم يكن لدينا ملف egg للمكتبة وكانت موجودة في مستودع PyPI على الانترنت، نُمرر اسم المكتبة لأداة easy_install بالشكل التالي:
نستطيع تثبيت المكتبة باستخدام أداة pip وذلك بنفس الطريقة عبر تمرير اسم المكتبة للأداة بعد تحديد الأمر الخاص بالتثبيت وهو في هذه الحالة install بالشكل التالي:
في حال أردنا تحديث المكتبة او حذفها، يُمكن استخدام pip لذلك بالطريقة التالية:
في حال كانت برمجية البايثون التي نريد تثبيتها موجودة على هيئة ملف wheel، يُمكن تثبيت المكتبة بإستخدام pip عبر تمرير اسم الملف بامتداد whl، وتُعتبر هذه الطريقة هي المُفضلة في حال عدم وجود اتصال انترنت:
هل استخدم pip ام easy_install؟
كما ذكرنا في بداية المقال، أداة pip هي الأداة المعتمدة حاليا كمدير حزم البايثون، ومن خلالها يمكننا تثبيت أو تحديث أو حذف المكتبات والحزم في بايثون. بينما easy_install لا تتوفر فيها ميزة التحديث والحذف، كما أنها لا تتعامل مع ملفات Wheels المعتمدة في مستودع بايثون PyPI كنوع للملفات عند تحزيم ونشر البرمجيات والشيفرات بالبايثون. هذه بعض الفروقات، ويوجد البعض الآخر لم نذكره حتى تكون الفكرة مركزة وواضحة. وبناءً على ما سبق، عليك باستخدام أدة pip في التعامل مع مكتبات بايثون من حيث التثبيت والادارة.