V tej vadnici bomo izvedeli, kako uporabiti pip za namestitev in upravljanje paketov Python.
Kaj je pip?
pip
je standardni upravitelj paketov za Python. Lahko pip
namestimo dodatne pakete, ki niso na voljo v standardni knjižnici Python. Na primer
pip install numpy
Če bi namestili pip
v naš sistem, bi ta ukaz namestil numpy
knjižnico.
Kako namestiti pip?
pip
prihaja vnaprej nameščen v različici Python 3.4 ali starejši. Če pip
je nameščen, lahko preverimo z naslednjim ukazom v konzoli:
pip --version
Če pip
je v sistemu že na voljo, pip
se prikaže ustrezna različica, na primer:
pip 19.3.1 iz C: Python37 lib site-paketi pip (python 3.7)
Če uporabljamo starejšo različico Pythona ali je pip
iz kakšnega drugega razloga nismo namestili, sledite korakom, opisanim na tej povezavi: namestitev pipa
Uporaba pipa
pip
je program ukazne vrstice. Po namestitvi pip
se doda ukaz, ki ga lahko uporabite z ukaznim pozivom.
Osnovna sintaksa pipa je:
pip
Nameščanje paketov s pip
Poleg standardne knjižnice Python, skupnost Python prispeva k številnim paketom, prilagojenim različnim razvojnim okvirom, orodjem in knjižnicam.
Večina teh paketov je uradno gostila in objavila v indeksu paketov Python (PyPI). pip
nam omogoča prenos in namestitev teh paketov.
Namestitev osnovnega paketa
install
Ukaz se uporablja za namestitev paketov uporabo pip
. Vzemimo primer:
Recimo, da želimo namestiti requests
priljubljeno knjižnico HTTP za Python. To lahko storimo s pomočjo naslednjega ukaza.
pip install requests
Izhod
Zbiranje zahtev z uporabo predpomnjenih https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl https://cales.dddddddddddddddddddddddddddddddd. .pythonhosted.org / Packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Zbiranje urllib3! = 1.25.0,! //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Zbiranje idna = 2.5fi.org.org/hosting/ https/fifi.org/hosting/hosting.ph /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Zbiranje certifi> = 2017.4.17 Prenos https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Namestitev zbranih paketov: chardet, idna certifikat, urnlib 2019 3.0.4 idna-2.8 zahteve-2.22.0 urllib3-1.25.7
Tu lahko vidimo, da pip
je bil uporabljen z install
ukazom, ki mu sledi ime paketa, ki ga želimo namestiti ( requests
).
Vse druge odvisnosti, kot chardet
so urllib3
in certifi
potrebne za ta paket, prav tako namesti pip
.
Določitev različice paketa
Ko pip
install
se uporablja v minimalni obliki, pip
prenese najnovejšo različico paketa.
Včasih je z drugimi programi združljiva le določena različica. Tako lahko različico paketa določimo na naslednji način:
zahteve za namestitev pipa == 2.21.0
Tu smo namestili različico requests
knjižnice 2.11.0 .
Naštevanje nameščenih paketov s pip
pip list
Ukaz se lahko uporablja za seznam vseh dostopnih paketov v trenutnem Python okolju.
pip list
Izhod
Različica paketa ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 zahteve 2.22.0 setuptools 45.0.0 urllib3 1.25.7 kolo 0.33 .6
Informacije o paketu s pip show
pip show
Ukaz prikaže informacije o eni ali več nameščenih paketov. Oglejmo si primer:
pip show requests
Izhod
Ime: zahteve Različica: 2.22.0 Povzetek: Python HTTP za ljudi. Domača stran: http://python-requests.org Avtor: Kenneth Reitz Avtor-e-pošta: [email protected] Licenca: Apache 2.0 Lokacija: c: users dell desktop venv lib site-paketi Zahteva: certifi, chardet, urllib3, idna Zahteval:
Tu show
ukaz prikaže informacije o requests
knjižnici. Upoštevajte stolpec Requires and Required-by v zgornjem izhodu.
Zahtevan stolpec prikazuje, katere odvisnosti requests
knjižnica zahteva. In stolpec Obvezno prikazuje pakete, ki zahtevajo requests
.
Odstranitev paketa s pipom
Mi lahko odstranitev paketa z uporabo pip
z pip uninstall
ukazom.
Recimo, da želimo requests
knjižnico odstraniti iz našega trenutnega okolja Python. To lahko storimo na naslednji način:
pip uninstall requests
Izhod
Odstranitev zahtev-2.22.0: Odstranil bi: C: Python37 lib site-paketi zahteve-2.22.0.dist-info * C: Python37 lib site-paketi zahteve * Nadaljujte (y / n)? y Uspešno odstranjene zahteve-2.22.0
Kot vidimo, se requests
paket po končnem pozivu odstrani.
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.
Če želite izvedeti več o tem pip
, obiščite: Python pip (uradna dokumentacija)