English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، سنتعلم كيفية استخدام pip لتركيب وإدارة حزم Python.
pip هو مدير الحزم القياسي لـ Python. يمكننا استخدام pip لتركيب الحزم الأخرى غير الموجودة في مكتبة Python القياسية. على سبيل المثال،
تثبيت pip install numpy
إذا تم تثبيت pip على النظام، فإن هذا الأمر سيقوم بتثبيت مكتبة numpy.
تم تثبيت pip مسبقًا في إصدارات بايثون 3.4 أو أقدم. يمكننا التحقق من تثبيت pip باستخدام الأمر التالي في لوحة التحكم بالأوامر:
pip --version
إذا كان pip موجودًا في النظام، فإن pip سيظهر الإصدار المطلوب، مثل:
pip 19.3.1 من C:\Python37\lib\site-packages\pip (بايثون 3.7)
إذا كنت تستخدم إصدار قديم من بايثون أو لم يتم تثبيت pip لأسباب أخرى، فلاحظ الخطوات المذكورة في هذا الرابط:تثبيت pip
pip هو برنامج سطر أمر. بعد التثبيت، يتم إضافة pip كأمر يمكن استخدامه مع سطر الأوامر.
النحو الأساسي لـ pip هو:
pip <أوامر pip>
إضافة إلى مكتبات بايثون القياسية، قام مجتمع بايثون بتصميم العديد من البرامج لتناسب مختلف إطارات التطوير، الأدوات والكتبات.
معظم هذه البرامج يتم استضافةها وانتشارها بشكل رسمي إلىالسجلات البرمجية لبايثون (PyPI)pip يسمح لنا بتحميل وتثبيت هذه البرامج.
يستخدم أمر التثبيت لتثبيت البرامج عبر pip. دعنا نأخذ مثالًا:
افتراضًا نريد تثبيت requests، مكتبة HTTP الشائعة لتلبيس بايثون. يمكننا باستخدام أوامر التالية القيام بذلك.
تثبيت pip install requests
نتائج الخروج
جمع requests استخدام مخزن https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl جمع chardet<3.1.0,>=3.0.2 استخدام مخزن https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl جمع urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 استخدام المخزن المؤقت https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl جمع idna<2.9,>=2.5 استخدام المخزن المؤقت https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl جمع certifi>=2017.4.17 تحميل https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl (156kB) تثبيت الحزم المجموعة: chardet, urllib3, idna, certifi, requests تم التثبيت بنجاح certifi-2019.11.28 chardet-3.0.4 idna-2.8 requests-2.22.0 urllib3-1.25.7
في هذا السياق، يمكننا رؤية أن الأمر install تم استخدامه مع pip، يتبعه اسم الحزمة التي نريد تثبيتها (requests).
يتم أيضًا تثبيت جميع التبعيات الأخرى المطلوبة للحزمة، مثل chardet،urllib3 وcertifi.
إذا تم استخدام pip install في شكل أقل، فإن pip سيقوم بتحميل أحدث إصدار من الحزمة.
في بعض الأحيان، يمكن التكامل مع البرامج الأخرى فقط عبر إصدارات معينة. لذلك، يمكننا تعريف إصدار حزمة البرنامج عبر الطريقة التالية:
piplinstalllrequests==2.21.0
في هذا السياق، قمنا بتثبيت إصدار 2.21.0 من مكتبة requests.
يمكن استخدام الأمر pip list لقائمة جميع الحزم المتاحة في البيئة الحالية لـ Python.
pipllist
نتائج الخروج
الحزمة إصدار ----------l---------- certifil2019.11.28 chardetl3.0.4 idnal2.8 pip 19.3.1 requestsl2.22.0 setuptools 45.0.0 urllib3l1.25.7 wheel 0.33.6
يظهر الأمر pip show معلومات حول مكتبة واحدة أو أكثر من المكتبات المثبتة. لنرى مثالاً:
piplshowlrequests
نتائج الخروج
الاسم: requests الإصدار: 2.22.0 ملخص: Python HTTP للبشر. صفحةlm主页: http://python-requests.org المطور: Kenneth Reitz بريدlالمطور: [email protected] الترخيص: Apache 2.0 الموقع: c:\users\dell\desktop\venv\lib\site-packages Requires: certifi, chardet, urllib3, idna Required-by:
في هذا السياق، يظهر الأمر show معلومات حول مكتبة requests. انتبه إلى ما يلي في الناتج المقدّم:RequiresوRequired-byقائمة.
قائمةlRequireslتظهر الاعتمادات التي تحتاجها مكتبة requests. وتبين قائمةlRequired-bylالمكتبات التي تحتاج إلى requests.
يمكننا إزالة حزمة pip باستخدام الأمر pip uninstall.
لنفترض أننا نريد إزالة مكتبة requests من البيئة الحالية لـ Python. يمكننا القيام بذلك عبر الطريقة التالية:
pipluninstalllrequests
نتائج الخروج
إزالةlrequests-2.22.0: سيتم eزالة C:\Python37\lib\site-packages\requests-2.22.0.dist-info\* C:\Python37\lib\site-packages\requests\* تابع (y/n)? y تم إزالة التثبيت بنجاح requests-2.22.0
كما رأينا، تم حذف حزمة requests بعد الإشارة النهائية.
ملاحظةملاحظة: حتى لو تم حذف الحزمة المحددة، فإن الحزم التي تم تثبيتها كإعتمادات لن يتم حذفها. في هذه الحالة، لن يتم إزالة إعتمادات مكتبة requests (chardet،urllib3 و certifi).
إذا كنت بحاجة إلى حذف إعتمادات الحزم أيضًا، يمكنك استخدام أمر pip show لعرض الحزم المثبتة وحذفها يدويًا.
يمكن أيضًا استخدام ملف يحتوي على أسماء جميع الحزم لتركيب الحزم البرمجية لـ Python بشكل جماعي.
دعنا نرى مثالًا:
افترض أن لدينا ملفًاrequirements.txt،ويشمل التالي:
numpy Pillow pygame
يمكننا استخدام أمرٍ واحدٍ لتركيب جميع هذه الحزم وإعتماداتها باستخدام pip.
pip install -r requirements.txt
نتائج الخروج
جمع numpy استخدام مخزن https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl جمع Pillow استخدام مخزن https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl جمع pygame استخدام مخزن https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl تثبيت الحزم المجموعة: numpy, Pillow, pygame تم التثبيت بنجاح Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6
في هذا السياق، نستخدم الأمر install نفسه مع pip.
لكن، يحدد المعامل الإضافي -r أننا نمرر ملف المتطلبات وليس اسم الحزمة.
كالبديل عن إنشاء ملف متطلبات يدويًا، يقدم pip الأمر freeze. لنرى كيفية استخدامه.
افترض أن بيئة Python الحالية لديها الحزم التالية. يمكن عرضها باستخدام pip list.
الحزمة إصدار ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6
يستخدم الأمر freeze لقائمة الحزم التي لم يتم تثبيتها مسبقًا في Python.
pip freeze
نتائج الخروج
numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6
يظهر الأمر pip freeze الحزم وأصدارها في شكل ملف متطلبات.
لذلك، يمكن استخدام الأمر التالي لإعادة توجيه الخروج لإنشاء ملف متطلبات:
pip freeze > requirements.txt
إنشاء ملف جديد في الدليل الحاليrequirements.txtملف. يمكن استخدامها في بيئات Python الأخرى لتركيب إصدار معين من الحزمة.
يستخدم الأمر search للبحث عن الحزم في سطر الأوامر. لنرى مثالاً:
pip search pygame
نتائج الخروج
pygame-anisprite (1.0.0) - رسوم متحركة للرموز لـ PyGame! pygame-ai (0.1.2) - مكتبة ذكاء الاصطناعي للعبة الفيديو لـ PyGame pygame-engine (0.0.6) - محرك لعبة بايثون بسيط pygame-assets (0.1) - مدير الأصول لبكجات Pygame pygame-gui (0.4.2) - وحدة واجهة المستخدم لبايثون 2 pygame-spritesheet (0.2.0) - امتداد بايثون pygame يقدم فئة SpriteSheet pygame-minesweeper (1.0) - لعبة Minesweeper تم تنفيذها باستخدام بايثون باستخدام pygame pygame-menu (2.1.0) - قائمة لبايثون، بسيطة، خفيفة الوزن وسهلة الاستخدام pygame-plot (0.1) - عرض بسرعة للبيانات باستخدام pygame بنمط matplotlib pygame (1.9.6) - تطوير الألعاب لبايثون ...
في هذا المكان، قمنا بالبحث عن مكتبة تدعى pygame. عرضت جميع الحزم الأخرى التي تتطابق مع الكلمات المفتاحية. هذه الأوامر تساعد في العثور على الحزم ذات الصلة.
للإطلاع على معلومات أكثر حول بيب، يرجى زيارة:بيتاون بيب (مستندات رسمية)