In deze zelfstudie leren we hoe u pip kunt gebruiken om Python-pakketten te installeren en beheren.
Wat is pip?
pip
is de standaard pakketbeheerder voor Python. We kunnen gebruiken pip
om extra pakketten te installeren die niet beschikbaar zijn in de Python-standaardbibliotheek. Bijvoorbeeld,
pip install numpy
Als we het pip
op ons systeem hadden geïnstalleerd , zou deze opdracht de numpy
bibliotheek hebben geïnstalleerd .
Hoe pip te installeren?
pip
komt vooraf geïnstalleerd op de Python-versie 3.4 of ouder. We kunnen controleren of het pip
is geïnstalleerd door het volgende commando in de console te gebruiken:
pip --version
Als deze pip
al beschikbaar is in het systeem, wordt de betreffende pip
versie 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 pip
om een andere reden niet hebben geïnstalleerd, volg dan de stappen zoals beschreven in deze link: pip-installatie
Met behulp van pip
pip
is een opdrachtregelprogramma. Na de installatie wordt een pip
commando 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). pip
stelt ons in staat om deze pakketten te downloaden en te installeren.
Basispakketinstallatie
De install
opdracht die wordt gebruikt om pakketten te installeren met pip
. Laten we een voorbeeld nemen:
Stel dat we requests
een 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 pip
is gebruikt met het install
commando gevolgd door de naam van het pakket dat we willen installeren ( requests
).
Alle andere afhankelijkheden zoals chardet
, urllib3
en certifi
vereist voor dit pakket, worden ook geïnstalleerd door pip
.
Pakketversie specificeren
Wanneer het pip
install
in zijn minimale vorm wordt gebruikt, pip
downloadt 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 requests
bibliotheek geïnstalleerd .
Lijst met geïnstalleerde pakketten met pip
De pip list
opdracht 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 show
opdracht 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 show
opdracht informatie over de requests
bibliotheek weer. Let op de kolom Vereist en vereist door in de bovenstaande uitvoer.
Vereist kolom toont welke afhankelijkheden de requests
bibliotheek 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 pip
met de pip uninstall
opdracht.
Stel dat we de requests
bibliotheek 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 requests
pakket 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 requests
bibliotheek niet verwijderd.
Als we ook de afhankelijkheden van een pakket moeten verwijderen, kunnen we de pip show
opdracht 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 pip
naar: Python pip (officiële documentatie)