Python Language
Verwendung des "pip" -Moduls: PyPI Package Manager
Suche…
Einführung
Manchmal müssen Sie den pip package manager in python verwenden, z. Wenn einige Importe ImportError
und Sie die Ausnahme behandeln möchten. Wenn Sie unter Windows die Python_root/Scripts/pip.exe
entpacken, wird die Datei __main__.py
gespeichert, in die die main
aus dem pip
Paket importiert wird. Das bedeutet, dass das Pip-Paket immer dann verwendet wird, wenn Sie eine ausführbare Pip-Datei verwenden. Zur Verwendung von pip als ausführbare Datei siehe: pip: PyPI Package Manager
Syntax
- pip. <Funktion | Attribut | Klasse> wobei Funktion eine der folgenden ist:
- Autovervollständigung ()
- Befehls- und Optionsvervollständigung für den Hauptoptionsparser (und die Optionen) und seine Unterbefehle (und Optionen). Aktivieren Sie diese Option, indem Sie eines der Completion-Shell-Skripts (bash, zsh oder fish) beziehen.
- check_isolated (args)
- param args {list}
- gibt {boolean} zurück
- create_main_parser ()
- gibt ein {pip.baseparser.ConfigOptionParser-Objekt} zurück
- main (args = keine)
- param args {list}
- Rückgabe {Ganzzahl} Wenn nicht fehlgeschlagen als 0 zurückgegeben wird
- parseopts (args)
- param args {list}
- get_installed_distributions ()
- gibt {list} zurück
- get_similar_commands (name)
- Befehlsname automatisch korrigiert
- Parametername {Zeichenfolge}
- gibt {boolean} zurück
- get_summaries (order = True)
- Ergibt sortierte (Befehlsname, Befehlszusammenfassung) Tupel.
- get_prog ()
- gibt {String} zurück
- dist_is_editable (dist)
- Ist die Distribution eine editierbare Installation?
- param dist {object}
- gibt {boolean} zurück
- command_dict
- Attribut {Wörterbuch}
- Autovervollständigung ()
Beispiel für die Verwendung von Befehlen
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])
pip.main(['freeze'])
nur erforderliche Parameter obligatorisch sind, sind sowohl pip.main(['freeze'])
als auch pip.main(['freeze', '', ''])
akzeptabel.
Batch-Installation
Es ist möglich, viele Paketnamen in einem Aufruf zu übergeben. Wenn jedoch eine Installation / ein Upgrade fehlschlägt, wird der gesamte Installationsvorgang angehalten und mit dem Status '1' beendet.
import pip
installed = pip.get_installed_distributions()
list = []
for i in installed:
list.append(i.key)
pip.main(['install']+list+['--upgrade'])
Wenn Sie nicht anhalten möchten, wenn einige Installationen fehlschlagen, rufen Sie die Installation in einer Schleife auf.
for i in installed:
pip.main(['install']+i.key+['--upgrade'])
Behandlung der ImportError-Ausnahme
Wenn Sie eine Python-Datei als Modul verwenden, müssen Sie nicht immer überprüfen, ob das Paket installiert ist, es ist jedoch für Skripte nützlich.
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
Installation erzwingen
Viele Pakete, zum Beispiel in Version 3.4, würden unter 3.6 problemlos laufen, aber wenn es keine Distributionen für eine bestimmte Plattform gibt, können sie nicht installiert werden, aber es gibt eine Problemumgehung. In WHL-Dateien (bekannt als Räder) entscheiden Namenskonventionen, ob Sie Pakete auf der angegebenen Plattform installieren können. Z.B. scikit_learn‑0.18.1‑cp36‑cp36m‑win_amd64.whl
[Paketname] - [Version] - [Python-Interpreter] - [Python-Interpreter] - [Betriebssystem] .whl. Wenn der Name der Raddatei geändert wird und die Plattform nicht übereinstimmt, versucht pip, das Paket zu installieren, auch wenn die Plattform- oder Python-Version nicht übereinstimmt. Das Entfernen der Plattform oder des Interpreters aus dem Namen führt zu einem Fehler in der neuesten Version des Pip-Moduls. kjhfkjdf.whl is not a valid wheel filename.
.
Alternativ kann die .whl-Datei mit einem Archivierer als 7-zip entpackt werden. - Normalerweise enthält es Meta-Ordner für die Verteilung und Ordner mit Quelldateien. Diese Quelldateien können einfach in das site-packges
Verzeichnis entpackt werden, es sei denn, dieses Rad enthält ein Installationsskript. Wenn ja, muss es zuerst ausgeführt werden.