Python pip

V tej vadnici bomo izvedeli, kako uporabiti pip za namestitev in upravljanje paketov Python.

Kaj je pip?

pipje standardni upravitelj paketov za Python. Lahko pipnamestimo dodatne pakete, ki niso na voljo v standardni knjižnici Python. Na primer

 pip install numpy 

Če bi namestili pipv naš sistem, bi ta ukaz namestil numpyknjižnico.

Kako namestiti pip?

pipprihaja vnaprej nameščen v različici Python 3.4 ali starejši. Če pipje nameščen, lahko preverimo z naslednjim ukazom v konzoli:

 pip --version 

Če pipje v sistemu že na voljo, pipse 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 pipiz kakšnega drugega razloga nismo namestili, sledite korakom, opisanim na tej povezavi: namestitev pipa

Uporaba pipa

pipje program ukazne vrstice. Po namestitvi pipse 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). pipnam omogoča prenos in namestitev teh paketov.

Namestitev osnovnega paketa

installUkaz se uporablja za namestitev paketov uporabo pip. Vzemimo primer:

Recimo, da želimo namestiti requestspriljubljeno 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 pipje bil uporabljen z installukazom, ki mu sledi ime paketa, ki ga želimo namestiti ( requests).

Vse druge odvisnosti, kot chardetso urllib3in certifipotrebne za ta paket, prav tako namesti pip.

Določitev različice paketa

Ko pip installse uporablja v minimalni obliki, pipprenese 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 requestsknjižnice 2.11.0 .

Naštevanje nameščenih paketov s pip

pip listUkaz 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 showUkaz 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 showukaz prikaže informacije o requestsknjižnici. Upoštevajte stolpec Requires and Required-by v zgornjem izhodu.

Zahtevan stolpec prikazuje, katere odvisnosti requestsknjižnica zahteva. In stolpec Obvezno prikazuje pakete, ki zahtevajo requests.

Odstranitev paketa s pipom

Mi lahko odstranitev paketa z uporabo pipz pip uninstallukazom.

Recimo, da želimo requestsknjiž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 requestspaket 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)

Zanimive Članki...