Python pip

В този урок ще научим как да използваме pip за инсталиране и управление на Python пакети.

Какво е pip?

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 Package Index (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.dd3/donnect.wdl https://cales.wdl https://cales.wdl https://cales.wdl https://cales.whl = .pythonhosted.org / пакети / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Събиране на urllib3! = 1.25.0,! = 1.25.0, https: 1.25 //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Събиране на idna = 2.5fi.org.org/chong/ https/fifi.org/hosting/catfi/ https/fifi.org/chost/ https/fifi.org/hosts/ https/fifi.org/chosts/ https / /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 (156kB) Инсталиране на събрани пакети: chardet, idna certic 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 and Required-by в горния изход.

Изисква колона показва кои зависимости requestsизисква библиотеката. И, колона Required-by показва пакетите, които изискват requests.

Деинсталиране на пакет с pip

Можем да деинсталираме пакет с помощта pipна pip uninstallкомандата.

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

 pip uninstall requests 

Изход

Деинсталиране на заявки-2.22.0: Ще премахне: C: Python37 lib site-пакети заявки-2.22.0.dist-информация * C: Python37 lib site-пакети заявки * Продължете (y / н)? y Успешно деинсталирани заявки-2.22.0

Както виждаме, requestsпакетът се премахва след последния ред.

Забележка : Въпреки че посоченият пакет е премахнат, пакетите, които са инсталирани като зависимости, не се премахват. В този случай зависимостите ( chardet, urllib3,и certifi)на requestsбиблиотеката не се деинсталират.

Ако трябва да премахнем и зависимостите на даден пакет, можем да използваме pip showкомандата, за да разгледаме инсталираните пакети и да ги премахнем ръчно.

Използване на файлове с изисквания

Файл, съдържащ всички имена на пакети, също може да се използва за инсталиране на пакети на Python на партиди.

Нека да разгледаме един пример:

Да предположим, че имаме файл requirements.txt, който има следните записи:

 numpy Възглавница pygame 

Можем да инсталираме всички тези пакети и техните зависимости, като използваме една команда в 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 (официална документация)

Интересни статии...