Python pip

In deze zelfstudie leren we hoe u pip kunt gebruiken om Python-pakketten te installeren en beheren.

Wat is pip?

pipis de standaard pakketbeheerder voor Python. We kunnen gebruiken pipom extra pakketten te installeren die niet beschikbaar zijn in de Python-standaardbibliotheek. Bijvoorbeeld,

 pip install numpy 

Als we het pipop ons systeem hadden geïnstalleerd , zou deze opdracht de numpybibliotheek hebben geïnstalleerd .

Hoe pip te installeren?

pipkomt vooraf geïnstalleerd op de Python-versie 3.4 of ouder. We kunnen controleren of het pipis geïnstalleerd door het volgende commando in de console te gebruiken:

 pip --version 

Als deze pipal beschikbaar is in het systeem, wordt de betreffende pipversie weergegeven, zoals:

 pip 19.3.1 van C: Python37 lib site-packages pip (python 3.7) 

Als we een oudere versie van Python gebruiken of deze pipom een ​​andere reden niet hebben geïnstalleerd, volg dan de stappen zoals beschreven in deze link: pip-installatie

Met behulp van pip

pipis een opdrachtregelprogramma. Na de installatie wordt een pipcommando toegevoegd dat kan worden gebruikt met de command prompt.

De basissyntaxis van pip is:

 pip 

Pakketten installeren met pip

Afgezien van de standaard Python-bibliotheek, draagt ​​de Python-gemeenschap bij aan een groot aantal pakketten die zijn afgestemd op verschillende ontwikkelframeworks, tools en bibliotheken.

De meeste van deze pakketten worden officieel gehost en gepubliceerd op de Python Package Index (PyPI). pipstelt ons in staat om deze pakketten te downloaden en te installeren.

Basispakketinstallatie

De installopdracht die wordt gebruikt om pakketten te installeren met pip. Laten we een voorbeeld nemen:

Stel dat we requestseen populaire HTTP-bibliotheek voor Python willen installeren . We kunnen het doen met behulp van de volgende opdracht.

 pip install requests 

Uitvoer

Verzoeken verzamelen met behulp van cachegeheugen https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Bestanden verzamelen met behulp van cachet = 3.0.2 .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Urllib3 verzamelen! = 1.25.0, https! = 1.25.1, https! //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Collectingpackna = 2.5 Gebruik van cthageson https://fed.org/pythageson/host14.org /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Certificaten verzamelen> = 2017.4.17 Downloaden https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Verzamelde pakketten installeren: chardet-aanvragen, id8-na, -certifi-3, met succes geïnstalleerd. 3.0.4 idna-2.8 verzoeken-2.22.0 urllib3-1.25.7

Hier kunnen we zien dat de pipis gebruikt met het installcommando gevolgd door de naam van het pakket dat we willen installeren ( requests).

Alle andere afhankelijkheden zoals chardet, urllib3en certifivereist voor dit pakket, worden ook geïnstalleerd door pip.

Pakketversie specificeren

Wanneer het pip installin zijn minimale vorm wordt gebruikt, pipdownloadt het de meest recente versie van het pakket.

Soms is alleen een specifieke versie compatibel met andere programma's. We kunnen de versie van het pakket dus op de volgende manier definiëren:

 pip installatieverzoeken == 2.21.0 

Hier hebben we de 2.11.0-versie van de requestsbibliotheek geïnstalleerd .

Lijst met geïnstalleerde pakketten met pip

De pip listopdracht kan worden gebruikt om alle beschikbare pakketten in de huidige Python-omgeving weer te geven.

 pip list 

Uitvoer

 Pakketversie ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 verzoeken 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wiel 0.33 .6 

Pakketinformatie met pip show

De pip showopdracht geeft informatie weer over een of meer geïnstalleerde pakketten. Laten we naar een voorbeeld kijken:

 pip show requests 

Uitvoer

Naam: requests Versie: 2.22.0 Samenvatting: Python HTTP for Humans. Startpagina: http://python-requests.org Auteur: Kenneth Reitz Auteur-e-mail: [email protected] Licentie: Apache 2.0 Locatie: c: users dell desktop venv lib site-packages Vereist: certifi, chardet, urllib3, idna Vereist door:

Hier geeft de showopdracht informatie over de requestsbibliotheek weer. Let op de kolom Vereist en vereist door in de bovenstaande uitvoer.

Vereist kolom toont welke afhankelijkheden de requestsbibliotheek vereist. En de kolom Vereist door toont de pakketten die vereist zijn requests.

Een pakket verwijderen met pip

We kunnen een pakket verwijderen door te gebruiken pipmet de pip uninstallopdracht.

Stel dat we de requestsbibliotheek uit onze huidige Python-omgeving willen verwijderen . We kunnen het op de volgende manier doen:

 pip uninstall requests 

Uitvoer

Verwijderen van requests-2.22.0: zou verwijderen: C: Python37 lib site-packages requests-2.22.0.dist-info * C: Python37 lib site-packages requests * Proceed (y / n)? y Succesvol verwijderd requests-2.22.0

Zoals we kunnen zien, wordt het requestspakket verwijderd na de laatste prompt.

Opmerking : hoewel het opgegeven pakket is verwijderd, worden de pakketten die zijn geïnstalleerd als afhankelijkheden niet verwijderd. In dit geval worden de afhankelijkheden ( chardet, urllib3,en certifi)van de requestsbibliotheek niet verwijderd.

Als we ook de afhankelijkheden van een pakket moeten verwijderen, kunnen we de pip showopdracht gebruiken om geïnstalleerde pakketten te bekijken en ze handmatig te verwijderen.

Vereiste bestanden gebruiken

Een bestand met alle pakketnamen kan ook worden gebruikt om Python-pakketten in batches te installeren.

Laten we een voorbeeld bekijken:

Stel dat we een bestand requirements.txt hebben met de volgende vermeldingen:

 numpy Kussen pygame 

We kunnen al deze pakketten en hun afhankelijkheden installeren met een enkele opdracht in pip.

 pip install -r requirements.txt 

Uitvoer

 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.

Ga voor meer informatie pipnaar: Python pip (officiële documentatie)

Interessante artikelen...