Python Language
Användning av "pip" -modul: PyPI Package Manager
Sök…
Introduktion
Ibland kan du behöva använda pip-pakethanteraren i python, t.ex. när vissa import kan höja ImportError
och du vill hantera undantaget. Om du packar upp på Windows Python_root/Scripts/pip.exe
inuti lagras __main__.py
fil, där main
från pip
paket importeras. Detta betyder att pip-paketet används när du använder pip-körbara. För användning av pip som körbar, se: pip: PyPI Package Manager
Syntax
- pip. <funktion | attribut | klass> där funktionen är en av:
- automatisk komplettering ()
- Kommando- och alternativavslutning för huvudalternativsdelaren (och alternativen) och dess underkommandon (och alternativ). Aktivera genom att anskaffa ett av kompletteringsskalskript (bash, zsh eller fisk).
- check_isolated (args)
- param args {list}
- returnerar {boolean}
- create_main_parser ()
- returnerar {pip.baseparser.ConfigOptionParser-objekt}
- main (args = Inget)
- param args {list}
- returnerar {heltal} Om inte misslyckades än returnerar 0
- parseopts (args)
- param args {list}
- get_installed_distributions ()
- returnerar {list}
- get_similar_commands (namn)
- Kommandonamn auto-korrekt.
- paramnamn {string}
- returnerar {boolean}
- get_summaries (beställd = sant)
- Utbyten sorterade (kommandonamn, kommandosammanfattning) tuples.
- get_prog ()
- returnerar {string}
- dist_is_editable (dist)
- Är distribution en redigerbar installation?
- param dist {object}
- returnerar {boolean}
- commands_dict
- attribut {ordbok}
- automatisk komplettering ()
Exempel på användning av kommandon
import pip
command = 'install'
parameter = 'selenium'
second_param = 'numpy' # You can give as many package names as needed
switch = '--upgrade'
pip.main([command, parameter, second_param, switch])
Endast nödvändiga parametrar är obligatoriska, så både pip.main(['freeze'])
och pip.main(['freeze', '', ''])
är acceptabla.
Batchinstallation
Det är möjligt att skicka många paketnamn i ett samtal, men om en installation / uppgradering misslyckas stoppar hela installationsprocessen och slutar med status '1'.
import pip
installed = pip.get_installed_distributions()
list = []
for i in installed:
list.append(i.key)
pip.main(['install']+list+['--upgrade'])
Om du inte vill stoppa när vissa installationer misslyckas, ring installationen i loop.
for i in installed:
pip.main(['install']+i.key+['--upgrade'])
Hantera ImportError-undantag
När du använder python-fil som modul behöver du inte alltid kontrollera om paketet är installerat men det är fortfarande användbart för skript.
if __name__ == '__main__':
try:
import requests
except ImportError:
print("To use this module you need 'requests' module")
t = input('Install requests? y/n: ')
if t == 'y':
import pip
pip.main(['install', 'requests'])
import requests
import os
import sys
pass
else:
import os
import sys
print('Some functionality can be unavailable.')
else:
import requests
import os
import sys
Tvinga installationen
Många paket, till exempel i version 3.4, skulle köras på 3.6 helt fint, men om det inte finns några distributioner för en specifik plattform kan de inte installeras, men det finns en lösning. I .whl-filer (känd som hjul) bestämmer namnkonvention om du kan installera paketet på en specifik plattform. T.ex. scikit_learn‑0.18.1‑cp36‑cp36m‑win_amd64.whl
[paketnamn] - [version] - [python-tolk] - [python-tolk] - [Operativsystem] .whl. Om namnet på hjulfilen ändras, så plattformen matchar, försöker pip installera paketet även om plattform- eller pythonversionen inte matchar. Att ta bort plattform eller tolk från namn kommer att uppstå ett fel i den senaste versoin av kjhfkjdf.whl is not a valid wheel filename.
.
Alternativt kan .whl-filen packas upp med hjälp av en arkivering som 7-zip. - Den innehåller vanligtvis distributionsmetamapp och mapp med källfiler. Dessa källfiler kan helt enkelt packas upp i site-packges
inte detta hjul innehåller installationsskript, i så fall måste det köras först.