Python pip

У цьому підручнику ми дізнаємося, як використовувати pip для встановлення та управління пакетами Python.

Що таке піп?

pipє стандартним менеджером пакетів для Python. Ми можемо використовувати pipдля встановлення додаткових пакетів, які недоступні в стандартній бібліотеці Python. Наприклад,

 pip install numpy 

Якби ми встановили pipв нашій системі, ця команда встановила б numpyбібліотеку.

Як встановити pip?

pipпоставляється з попередньо встановленою версією Python 3.4 або старішою. Ми можемо перевірити, чи pipвстановлено це, використовуючи таку команду в консолі:

 pip --version 

Якщо система pipвже доступна, відображається відповідна pipверсія, наприклад:

 pip 19.3.1 з C: Python37 lib site-пакети pip (python 3.7) 

Якщо ми використовуємо стару версію Python або не pipвстановлювали її з якихось інших причин, виконайте дії, описані в цьому посиланні: pip installation

Використання pip

pipє програмою командного рядка. Після його встановлення pipдодається команда, яку можна використовувати з командним рядком.

Основний синтаксис pip:

 pip 

Встановлення пакетів за допомогою pip

Окрім стандартної бібліотеки Python, спільнота Python вносить свій внесок у велику кількість пакетів, розроблених для різних платформ розробки, інструментів та бібліотек.

Більшість із цих пакетів офіційно розміщуються та публікуються в Індексі пакетів Python (PyPI). pipдозволяє нам завантажувати та встановлювати ці пакети.

Встановлення базового пакета

installКоманда використовується для установки пакетів з допомогою pip. Візьмемо приклад:

Припустимо, ми хочемо встановити requests, популярну бібліотеку HTTP для Python. Ми можемо зробити це за допомогою наступної команди.

 pip install requests 

Вихідні дані

Збір запитів з використанням кешованого https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl https://carles.dll/card https: // 3.0. .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Збір urllib3! = 1.25.1, 1. = 1.25.0,! //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Збір idnaps/ /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Збір сертифікатів> = 2017.4.17 Завантаження https: //files.pythonhosted.org / пакети / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156 кБ) Встановлення зібраних пакетів: chardet, idna 2019 urclib 3.0.4 idna-2.8 запити-2.22.0 urllib3-1.25.7

Тут ми можемо побачити, що pipбуло використано installкоманду, за якою йде назва пакета, який ми хочемо встановити ( requests).

Всі інші залежності , наприклад chardet, urllib3і certifiдля цього потрібно пакет також встановлені pip.

Вказівка ​​версії пакета

Коли pip installвикористовується в мінімальній формі, pipзавантажує останню версію пакета.

Іноді лише конкретна версія сумісна з іншими програмами. Отже, ми можемо визначити версію пакета таким чином:

 запити на встановлення pip == 2.21.0 

Тут ми встановили версію requestsбібліотеки 2.11.0 .

Перелік встановлених пакетів за допомогою pip

pip listКоманда може бути використана для отримання списку всіх доступних пакетів в поточній середовищі Python.

 pip list 

Вихідні дані

 Версія пакета ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 запити 2.22.0 setuptools 45.0.0 urllib3 1.25.7 колесо 0.33 .6 

Інформація про пакет із піп-шоу

pip showКоманда виводить інформацію про один або декількох встановлених пакетів. Давайте розглянемо приклад:

 pip show requests 

Вихідні дані

Назва: запити Версія: 2.22.0 Короткий зміст: Python HTTP для людей. Домашня сторінка: http://python-requests.org Автор: Kenneth Reitz Автор-електронна пошта: [email protected] Ліцензія: Apache 2.0 Місцезнаходження: c: users dell desktop venv lib site-пакети Потрібно: certifi, chardet, urllib3, idna Обов’язково:

Тут showкоманда відображає інформацію про requestsбібліотеку. Зверніть увагу на стовпець Requires і Required-by у наведеному вище результаті.

Стовпець " Потрібен " показує, які залежності requestsвимагає бібліотека. І, стовпець Required-by показує пакети, які вимагають requests.

Видалення пакета за допомогою pip

Ми можемо видалити пакет, використовуючи pipз pip uninstallкомандою.

Припустимо, ми хочемо видалити requestsбібліотеку з поточного середовища Python. Ми можемо зробити це наступним чином:

 pip uninstall requests 

Вихідні дані

Видалення запитів-2.22.0: буде видалено: C: Python37 lib site-пакети request-2.22.0.dist-info * C: Python37 lib site-пакети запити * Продовжити (y / n)? y Успішно видалені запити-2.22.0

Як бачимо, requestsпакет видаляється після останнього запиту.

Примітка : Навіть якщо вказаний пакет видалено, пакети, які були встановлені як залежності, не видаляються. В цьому випадку, залежність ( chardet, urllib3,і certifi)про requestsбібліотеці будуть збережені.

Якщо нам також потрібно видалити залежності пакету, ми можемо скористатися pip showкомандою для перегляду встановлених пакетів та їх видалення вручну.

Використання файлів вимог

Файл, що містить усі імена пакетів, також може бути використаний для встановлення пакетів Python пакетами.

Давайте подивимось на приклад:

Припустимо, у нас є файл requirements.txt, який містить такі записи:

 numpy Подушка пігаме 

Ми можемо встановити всі ці пакети та їх залежності, використовуючи одну команду в pip.

 pip install -r requirements.txt 

Вихідні дані

 Collecting numpy Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting Pillow Using cached https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl Collecting pygame Using cached https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl Installing collected packages: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6 

Here, we have used the same install command with pip.

However, the additional argument -r specifies pip that we are passing a requirements file rather than a package name.

Creating Requirements File

As an alternative to manually creating the requirements file, pip offers the freeze command. Let's look at how to use this command.

Suppose our current Python environment has the following packages. It can be displayed using pip list.

 Package Version ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6 

The packages that don't come preinstalled will Python are listed using the freeze command.

 pip freeze 

Output

 numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6 

The pip freeze command displays the packages and their version in the format of the requirements file.

So this output can be redirected to create a requirements file using the following command:

 pip freeze> requirements.txt 

A new requirements.txt file is created in the working directory. It can later be used in other Python environments to install specific versions of packages.

Search packages in pip

The search command is used to search for packages in the command prompt. Let's look at an example:

 pip search pygame 

Output

 pygame-anisprite (1.0.0) - Animated sprites for PyGame! pygame-ai (0.1.2) - Videogame AI package for PyGame pygame-engine (0.0.6) - Simple pygame game engine. pygame-assets (0.1) - Assets manager for Pygame apps pygame-gui (0.4.2) - A GUI module for pygame 2 pygame-spritesheet (0.2.0) - Python pygame extension that provides SpriteSheet class. pygame-minesweeper (1.0) - Minesweeper game implemented in python using pygame pygame-menu (2.1.0) - A menu for pygame, simple, lightweight and easy to use pygame-plot (0.1) - Quick visualization of data using pygame with a matplotlib style pygame (1.9.6) - Python Game Development… 

Here, we have searched for a library called pygame. All other packages that match the keyword are displayed. This command is helpful for finding related packages.

Щоб дізнатись більше про це pip, відвідайте: Python pip (офіційна документація)

Цікаві статті...