Ich habe ein externes Paket, das ich aus einer TAR-Datei in mein Python Virtualenv installieren möchte. Was ist der beste Weg, um das Paket zu installieren?
Ich habe zwei Möglichkeiten entdeckt, die dies ermöglichen:
- Extrahieren Sie die TAR-Datei und führen Sie sie
python setup.py install
im extrahierten Verzeichnis aus. pip install packagename.tar.gz
aus Beispiel 7 in https://pip.pypa.io/en/stable/reference/pip_install/#examples
Ist, wenn es einen Unterschied gibt, machen Sie sie auf diese 2 Arten.
python
virtualenv
pip
setup.py
user2125465
quelle
quelle
pip
. Sie können damit Pakete deinstallieren.sdist
?yum
.Antworten:
An der Oberfläche tun beide dasselbe: Sie tun entweder
python setup.py install
oderpip install <PACKAGE-NAME>
installieren Ihr Python-Paket für Sie mit einem Minimum an Aufwand.Die Verwendung von Pip bietet jedoch einige zusätzliche Vorteile, die die Verwendung wesentlich angenehmer machen.
setup.py
häufig manuell nach Abhängigkeiten suchen und diese herunterladen. Dies ist mühsam und kann frustrierend sein.pip uninstall <PACKAGE-NAME>
undpip install --upgrade <PACKAGE-NAME>
. Im Gegensatz dazu, wenn Sie ein Paket mit installierensetup.py
manuell löschen und manuell verwalten möchten, was möglicherweise fehleranfällig sein kann.setup.py
, müssen Sie die Website der Bibliothek besuchen, herausfinden, wo sie heruntergeladen werden kann, die Datei extrahieren, ausführensetup.py
... Im Gegensatz dazu durchsucht pip automatisch den Python- Paketindex (PyPi), um festzustellen, ob das Paket dort vorhanden ist, und lädt das Paket automatisch herunter, extrahiert es und installiert es für Sie. Mit wenigen Ausnahmen ist fast jede wirklich nützliche Python-Bibliothek auf PyPi zu finden.virtualenv
Programm können Sie mehrere Projekte ausführen, für die widersprüchliche Bibliotheken und Python-Versionen auf Ihrem Computer erforderlich sind. Weitere Infos .Verwenden Sie also grundsätzlich pip. Es bietet nur Verbesserungen gegenüber der Verwendung
python setup.py install
.Wenn Sie eine ältere Version von Python verwenden, kein Upgrade durchführen können und pip nicht installiert ist, finden Sie weitere Informationen zur Installation von pip unter den folgenden Links:
pip selbst benötigt kein Tutorial. In 90% der Fälle ist der einzige Befehl, den Sie wirklich benötigen, der
pip install <PACKAGE-NAME>
. Wenn Sie jedoch mehr darüber erfahren möchten, was genau Sie mit pip tun können, lesen Sie:Es wird auch allgemein empfohlen, pip und virtualenv zusammen zu verwenden. Wenn Sie ein Anfänger von Python sind, denke ich persönlich, dass es in Ordnung ist, zunächst nur Pip zu verwenden und Pakete global zu installieren, aber ich denke, Sie sollten auf die Verwendung von virtualenv umsteigen, wenn Sie ernstere Projekte angehen.
Wenn Sie mehr über die gemeinsame Verwendung von pip und virtualenv erfahren möchten, lesen Sie:
quelle
python setup.py install
auch Abhängigkeiten heruntergeladen und installiert. Ist dies eine Änderung, seit Sie diese Antwort 2013 geschrieben haben?python setup.py install
ist das Analogon von make install: Es ist eine eingeschränkte Möglichkeit, Dateien zu kompilieren und in Zielverzeichnisse zu kopieren. Dies bedeutet nicht, dass dies der beste Weg ist, um Software wirklich auf Ihrem System zu installieren.pip
ist ein Paketmanager, der Pakete wie bekannte Paketmanager installieren, aktualisieren, auflisten und deinstallieren kann, einschließlich:dpkg, apt, yum, urpmi, ports
usw. Unter der Haube wird er ausgeführtpython setup.py install
, jedoch mit spezifischen Optionen, um zu steuern, wie und wo Dinge installiert werden.Zusammenfassend: verwenden
pip
.quelle
Die Frage bezieht sich auf die bevorzugte Methode zum Installieren eines lokalen Tarballs , der ein Python-Paket enthält, NICHT auf den Vorteil des Hochladens eines Pakets auf einen Indexdienst wie PyPi.
Wie ich nicht weiß, lädt ein Software-Distributor sein Paket nicht auf PyPi hoch, sondern bittet Entwickler, das Paket von ihrer Website herunterzuladen und zu installieren.
Dies kann funktionieren, wird aber nicht empfohlen. Es ist nicht erforderlich, die Tarball-Datei zu entpacken und darauf zuzugreifen, um die Datei setup.py auszuführen.
Dies ist die Art und Weise, wie sie entworfen und bevorzugt wird. Präzise und auf PyPi-Pakete ausgerichtete Pakete.
Weitere Informationen
pip install
zu finden Sie hier: https://pip.readthedocs.io/en/stable/reference/pip_install/quelle