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