View Categories

12.3. إدارة الحزم باستخدام pip

1 دقيقة

12.3. إدارة الحزم باستخدام pip #

يمكنك تثبيت الحزم وترقيتها وإزالتها باستخدام برنامج pip. افتراضيًا، يقوم pip بتثبيت الحزم من فهرس حزم بايثون، <https://pypi.org>. يمكنك تصفح فهرس حزم بايثون من خلال متصفح الويب، أو استخدام ميزة البحث المحدود في pip:

(tutorial-env) $ pip search astronomy
skyfield               - Elegant astronomy for Python
gary                   - Galactic astronomy and gravitational dynamics.
novas                  - The United States Naval Observatory NOVAS astronomy library
astroobs               - Provides astronomy ephemeris to plan telescope observations
PyAstronomy            - A collection of astronomy related tools for Python.
...

يحتوي pip على عدد من الأوامر الفرعية: “بحث”، “تثبيت”، “إلغاء التثبيت”، “تجميد”، إلخ. (راجع دليل تثبيت وحدات بايثون للاطلاع على الوثائق الكاملة لـ pip).

يمكنك تثبيت أحدث إصدار من الحزمة بتحديد اسم الحزمة:

(tutorial-env) $ python -m pip install novas
Collecting novas
  Downloading novas-3.1.1.3.tar.gz (136kB)
Installing collected packages: novas
  Running setup.py install for novas
Successfully installed novas-3.1.1.3

يمكنك أيضًا تثبيت إصدار محدد من الحزمة بتحديد اسم الحزمة متبوعًا بـ == ورقم الإصدار:

(tutorial-env) $ python -m pip install requests==2.6.0
Collecting requests==2.6.0
  Using cached requests-2.6.0-py2.py3-none-any.whl
Installing collected packages: requests
Successfully installed requests-2.6.0

إذا أعدت تشغيل هذا الأمر، سيلاحظ pip أن الإصدار المطلوب مُثبّت بالفعل ولن يُجري أي إجراء. يمكنك إدخال رقم إصدار مختلف للحصول على هذا الإصدار، أو يمكنك تشغيل pip install –upgrade لترقية الحزمة إلى أحدث إصدار:

(tutorial-env) $ python -m pip install --upgrade requests
Collecting requests
Installing collected packages: requests
  Found existing installation: requests 2.6.0
    Uninstalling requests-2.6.0:
      Successfully uninstalled requests-2.6.0
Successfully installed requests-2.7.0

سيؤدي استخدام pip uninstall متبوعًا باسم حزمة واحدة أو أكثر إلى إزالة الحزم من البيئة الافتراضية.

سيعرض pip show معلومات حول حزمة معينة:

(tutorial-env) $ pip show requests
---
Metadata-Version: 2.0
Name: requests
Version: 2.7.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: Apache 2.0
Location: /Users/akuchling/envs/tutorial-env/lib/python3.4/site-packages
Requires:

ستعرض قائمة pip جميع الحزم المثبتة في البيئة الافتراضية:

(tutorial-env) $ pip list
novas (3.1.1.3)
numpy (1.9.2)
pip (7.0.3)
requests (2.7.0)
setuptools (16.0)

سيُنتج أمر pip freeze قائمة مماثلة بالحزم المثبتة، ولكن الناتج يستخدم التنسيق الذي يتوقعه pip install. من القواعد الشائعة وضع هذه القائمة في ملف requirements.txt:

(tutorial-env) $ pip freeze > requirements.txt
(tutorial-env) $ cat requirements.txt
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0

يمكن بعد ذلك حفظ ملف requirements.txt في نظام إدارة الإصدارات وإرساله كجزء من التطبيق. يمكن للمستخدمين بعد ذلك تثبيت جميع الحزم اللازمة باستخدام الأمر install -r:

(tutorial-env) $ python -m pip install -r requirements.txt
Collecting novas==3.1.1.3 (from -r requirements.txt (line 1))
  ...
Collecting numpy==1.9.2 (from -r requirements.txt (line 2))
  ...
Collecting requests==2.7.0 (from -r requirements.txt (line 3))
  ...
Installing collected packages: novas, numpy, requests
  Running setup.py install for novas
Successfully installed novas-3.1.1.3 numpy-1.9.2 requests-2.7.0

يوفر pip خيارات إضافية عديدة. راجع دليل تثبيت وحدات بايثون للاطلاع على الوثائق الكاملة لـ pip. عند كتابة حزمة وترغب في إتاحتها على فهرس حزمة Python، راجع دليل توزيع وحدات Python.

error: Content is protected !!
Scroll to Top