У цьому підручнику ми дізнаємося, як використовувати 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 (офіційна документація)