U ovom uputstvu naučit ćemo kako koristiti pip za instaliranje i upravljanje Python paketima.
Što je pip?
pip
je standardni upravitelj paketa za Python. Možemo koristiti pip
za instaliranje dodatnih paketa koji nisu dostupni u standardnoj knjižnici Python. Na primjer,
pip install numpy
Da smo instalirali pip
na naš sustav, ova bi naredba instalirala numpy
knjižnicu.
Kako instalirati pip?
pip
dolazi unaprijed instaliran na Python verziji 3.4 ili starijoj. Možemo li provjeriti je li pip
instaliran pomoću sljedeće naredbe u konzoli:
pip --version
Ako pip
je već dostupna u sustavu, prikazuje se odgovarajuća pip
verzija, poput:
pip 19.3.1 iz C: Python37 lib site-paketi pip (python 3.7)
Ako koristimo stariju verziju Pythona ili je pip
iz nekog drugog razloga nismo instalirali, slijedite korake opisane na ovoj poveznici: instalacija pipa
Koristeći pip
pip
je program naredbenog retka. Nakon njegove instalacije dodaje se pip
naredba koja se može koristiti s naredbenim odzivnikom.
Osnovna sintaksa pipa je:
pip
Instaliranje paketa s pipom
Osim standardne knjižnice Python, zajednica Python doprinosi velikom broju paketa prilagođenih raznim razvojnim okvirima, alatima i knjižnicama.
Većina ovih paketa službeno se hostira i objavljuje u indeksu paketa Python (PyPI). pip
omogućuje nam preuzimanje i instaliranje ovih paketa.
Instalacija osnovnog paketa
install
Naredba se koristi za instalaciju paketa upotrebom pip
. Uzmimo primjer:
Pretpostavimo da želimo instalirati requests
, popularnu HTTP knjižnicu za Python. To možemo učiniti uz pomoć sljedeće naredbe.
pip install requests
Izlaz
Prikupljanje zahtjeva Korištenje predmemoriranog https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl https://cales.ddddddddddddddddddddddddddddddddddddddddddddd. 25.9.2006. .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Prikupljanje urllib3! = 1.25.0,! = 1.25.1, https://21 //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Prikupljanje idnaps 2.5 /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Prikupljanje certifikata> = 2017.4.17 Preuzimanje https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Instaliranje sakupljenih paketa: chardet, idna certifikata 2019, certifikata urnlib 3.0.4 idna-2.8 zahtjeva-2.22.0 urllib3-1.25.7
Ovdje možemo vidjeti da pip
se koristi s install
naredbom nakon koje slijedi naziv paketa koji želimo instalirati ( requests
).
Sve ostale ovisnosti vole chardet
, urllib3
a certifi
potrebnih za ovaj paket također instalirao pip
.
Određivanje verzije paketa
Kada pip
install
se koristi u minimalnom obliku, pip
preuzima najnoviju verziju paketa.
Ponekad je samo određena verzija kompatibilna s drugim programima. Dakle, inačicu paketa možemo definirati na sljedeći način:
pip zahtjevi za instalaciju == 2.21.0
Ovdje smo instalirali verziju requests
knjižnice 2.11.0 .
Popis instaliranih paketa s pip-om
pip list
Naredba može se koristiti za popis svih dostupnih paketa u trenutnoj Python okruženju.
pip list
Izlaz
Package Version ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 requests 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33.6
Package Information with pip show
The pip show
command displays information about one or more installed packages. Let's look at an example:
pip show requests
Output
Name: requests Version: 2.22.0 Summary: Python HTTP for Humans. Home-page: http://python-requests.org Author: Kenneth Reitz Author-email: [email protected] License: Apache 2.0 Location: c:usersdelldesktopvenvlibsite-packages Requires: certifi, chardet, urllib3, idna Required-by:
Here, the show
command displays information about the requests
library. Notice the Requires and Required-by column in the above output.
Requires column shows which dependencies the requests
library requires. And, Required-by column shows the packages that require requests
.
Uninstalling a Package with pip
We can uninstall a package by using pip
with the pip uninstall
command.
Suppose we want to remove the requests
library from our current Python environment. We can do it in the following way:
pip uninstall requests
Output
Uninstalling requests-2.22.0: Would remove: C:Python37libsite-packagesequests-2.22.0.dist-info* C:Python37libsite-packagesequests* Proceed (y/n)? y Successfully uninstalled requests-2.22.0
As we can see, the requests
package is removed after the final prompt.
Note: Even though the specified package is removed, the packages that were installed as dependencies are not removed. In this case, the dependencies (chardet
, urllib3,
and certifi)
of the requests
library aren't uninstalled.
If we need to remove the dependencies of a package as well, we can use the pip show
command to view installed packages and remove them manually.
Using Requirement Files
A file containing all the package names can also be used to install Python packages in batches.
Let's take a look at an example:
Suppose we have a file requirements.txt which has the following entries:
numpy Pillow pygame
We can install all these packages and their dependencies by using a single command in pip
.
pip install -r requirements.txt
Output
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.
Da biste saznali više o tome pip
, posjetite: Python pip (službena dokumentacija)