النقاط الرئيسية
- قد يكون تثبيت تطبيقات Python أمرًا صعبًا بسبب التعارضات المحتملة مع حزم النظام، ولكن pipx يجعل الأمر سهلاً من خلال إنشاء بيئات افتراضية وإدارة التبعيات لك.
- Pipx هو بديل سهل الاستخدام لـ pip يقوم بتثبيت التطبيقات على مستوى النظام دون الحاجة إلى امتيازات sudo، ويساعدك على إضافة تطبيقات Python أو ترقيتها أو إزالتها بسهولة.
- باستخدام pipx، يمكنك تثبيت تطبيقات Python CLI وتشغيلها مثل أوامر Linux القياسية، بل وحتى إلغاء تثبيتها بسهولة. إنها أداة ملائمة لإدارة مكتبة التطبيقات وتوسيعها.
هناك عدد كبير من تطبيقات Python CLI المفيدة، ولكن التثبيت ليس دائمًا سهلاً كما يبدو. دعنا نلقي نظرة على كيفية تسهيل pipx لتثبيت هذه التطبيقات وإدارتها.
لماذا تعتبر تطبيقات Python صعبة
قد يصبح تثبيت تطبيقات Python أمرًا صعبًا للغاية بسرعة. Python هي لغة متعددة الاستخدامات، وغالبًا ما يتعلمها الأشخاص الأوائل. التصفح جيثب أو باي بي آي—فهرس حزم Python—يمكنك العثور على العديد من التطبيقات المفيدة إلى جانب مكتبات البرمجة. ونظرًا لانتشارها على نطاق واسع، فهناك الكثير من الأشخاص الذين يساهمون في كتابة التعليمات البرمجية، إلى جانب مجموعة من التعليمات لتثبيتها.
تنصحك معظم تعليمات التثبيت بالتثبيت باستخدام pip، مدير الحزم الخاص بلغة بايثون. وهو يشبه apt وyum في نظام Linux، حيث يستخدم PyPI كمستودع له ويسمح لك بتثبيت المكتبات الخاصة بكودك بالإضافة إلى التطبيقات الكاملة المكتوبة بلغة بايثون. ومع ذلك، فإن تثبيت البرامج عبر مثيل pip الموجود على نظامك قد يتسبب في تعارضات مع الحزم المملوكة والمدارة بالفعل بواسطة مدير الحزم المعتاد لديك. تستخدم معظم توزيعات Linux هذه الأيام وتعتمد على بايثون والحزم المرتبطة بها لتشغيل وظائف نظام التشغيل، وغالبًا ما تعتمد البرامج الأساسية الأخرى على إصدارات معينة من مكتبات معينة.
أنا لا أنصح بشدة بتثبيت البرامج على مستوى النظام مع sudo pip install لأن هذا قد يتسبب في تعارضات مع مدير الحزم في نظامك ويؤدي إلى تعطل الوظائف، أو في أسوأ الأحوال، نظام لا يعمل. أنا لست وحدي في هذا أيضًا، حيث ريال بايثون و ال توثيق virtualenv أوصي بهذا، وحتى الوثائق الرسمية لبايثون اطرح المشكلة.
خيار آخر هو التثبيت على مستوى المستخدم مع pip install –userولكن ليست كل الحزم تعمل بشكل مثالي بهذه الطريقة. لا تزال التبعيات مثبتة على مستوى النظام لهذا المستخدم، وهو ما قد يتسبب في حدوث مشكلات أيضًا.
يوصي مجتمع Python باستخدام ما يسمى بالبيئة الافتراضية – والتي يشار إليها غالبًا باسم venvs – لإنشاء مجلدات معزولة تتضمن جميع الأجزاء المطلوبة من المشروع للعمل، ولكن استخدامها عندما لا تكون على دراية بالعملية يمكن أن يكون محبطًا للغاية، خاصة إذا كنت تحاول كتابة نصوص برمجية. هذه مجرد بعض التحديات التي قد يواجهها المستخدمون في تشغيل تطبيقات Python على أنظمتهم.
pipx إلى الإنقاذ
لحل مشاكلنا، يمكننا استخدام تطبيق يسمى pipx. وهو بديل سهل الاستخدام لبرنامج pip يستهدف المستخدمين النهائيين وليس المبرمجين. فهو ينشئ البيئات الافتراضية لك، ويثبت التبعيات، ويجعل البرامج متاحة على مستوى النظام بالكامل – كل هذا دون الحاجة إلى امتيازات sudo على نظامك أيضًا. كما أنه يدير تطبيقات بايثون المثبتة لديك، مما يسهل عليك إضافتها أو ترقيتها أو إزالتها حسب ما تراه مناسبًا.
نظرًا لأن pipx غير مخصص للمبرمجين، فهو لا يدعم بعض الميزات المهمة التي قد ترغب في الحصول عليها أثناء التطوير، مثل تثبيت الحزم القابلة للتعديل للاختبار. هذا مخصص فقط للمستخدمين!
لتثبيت pipx، الطريقة الأكثر مباشرة هي استخدام مدير الحزم الخاص بنظامك. أولاً، دعنا نتأكد من تثبيت الحزم المطلوبة. إذا كنت تستخدم توزيعة تعتمد على Debian مثل Ubuntu، فيمكنك استخدام apt.
sudo apt update && sudo apt install python3-venv python3-pip
سيؤدي هذا إلى تثبيت الحزم الأساسية للبيئات الافتراضية ومدير الحزم pip. ستحتوي العديد من توزيعات Linux على هذه الحزم مثبتة مسبقًا، ولكن ليس كلها. والأمر الحاسم هو أن إصدارات Debian وUbuntu لا تضمن تثبيت هذه الحزم مسبقًا، لذا إذا كنت تستخدم هذه التوزيعات، فيجب عليك تشغيل الأوامر المذكورة أعلاه. إذا كنت تستخدم توزيعًا مختلفًا، فاستخدم مدير الحزم المناسب، سواء كان yum أو pacman أو حتى brew.
بعد ذلك، يمكننا تثبيت حزمة pipx نفسها.
sudo apt install pipx
أخيرًا، نريد التأكد من ربط pipx بمسارنا، حتى يتم تشغيل التطبيقات المثبتة بنفس الطريقة التي يتم بها تشغيل التطبيقات الأخرى. نحتاج فقط إلى تشغيل أمر pipx هذا:
pipx ensurepath
لاحظ أنه لا يوجد sudo لهذا الأمر! كل شيء سيعمل في مساحة المستخدم، وهو ما نريده بالضبط لتجنب العبث بتثبيت Python الخاص بنظام التشغيل الخاص بنا.
في بعض توزيعات Windows، مثل Ubuntu، قد تتلقى رسالة تخبرك بأنك قد تحتاج إلى إعادة تسجيل الدخول حتى يتم تطبيق تغيير المسار. في Rhino Linux، سارت الأمور على الفور، ولكن في Ubuntu، كان علي تسجيل الخروج ثم تسجيل الدخول مرة أخرى.
وهذا كل شيء، Pipx جاهز للاستخدام! دعنا نلقي نظرة على كيفية استخدامه مع بعض تطبيقات Python.
تثبيت تطبيقات Python CLI
دعونا نقوم بتثبيت تطبيق ممتع يسمى cowsay باستخدام pipx.
pipx install cowsay
يمكنك استخدام تطبيق Python كما لو كان تطبيقًا أو أمرًا قياسيًا لنظام Linux قمنا بتثبيته. فهو يعمل في بيئته الافتراضية الخاصة، ويتم فصل أي تبعيات وإبعادها عن نظام التشغيل الأساسي لدينا.
إذا كنت بحاجة إلى تشغيل تطبيق مرة واحدة فقط، ولا تريد أن تقلق بشأن تثبيته وإلغاء تثبيته، فإن pipx يحتوي على وضع تشغيل يتعامل مع ذلك نيابةً عنك أيضًا.
pipx run speedtest-cli
يمكنك أيضًا توفير حجج للتطبيق، حتى تتمكن من تشغيل أوامر محددة. هناك بعض التحذيرات بشأن التنسيق، لذا تأكد من مراجعة الوثائق الرسمية لـ Pipx.
بإمكانك استخدام pipx لمعرفة تطبيقات Python المثبتة التي قمت بتثبيتها.
pipx list
يمكنك أن ترى ذلك اختبار السرعة-cli لم يتم تثبيته، ولكن حظيرة البقر لا يزال موجودًا على نظامنا.
يمكنك أيضًا إلغاء تثبيت تطبيق Cowsay بسهولة.
pipx uninstall cowsay
إن ما يساعد حقًا هو pipx في إدارة التطبيقات الأكثر تعقيدًا. على سبيل المثال، يمكنك بسهولة كتابة نصوص bash بسيطة لتشغيل تطبيق calibre-web وصيانته لاستضافة مكتبة الكتب الإلكترونية الخاصة بك لأنك تستطيع التعامل معه كأمر آخر. بدون pipx، ستكون ملفات الخدمة التي تحتاج إلى كتابتها أكثر صعوبة بالنسبة لشخص لا يعرف Python وممارسات نشره.
وسّع مكتبة التطبيقات لديك باستخدام pipx
الآن بعد تثبيت pipx، أصبح لديك مجموعة كبيرة من البرامج الجديدة المتاحة لك! إذا وجدت مشاريع على GitHub أو PyPI تريد الاستفادة منها، فيمكن أن يسهل pipx عملية تثبيتها واستخدامها في دقيقة أو دقيقتين فقط.