[PYTHON] Über Paketmanagement mit Conda und Pip

Mit einem Wort, Anaconda enthält von Anfang an zusätzlich zum Python selbst eine Bibliothek wissenschaftlicher Berechnungen. Es wurde auch entwickelt, um die Paketverwaltung und -bereitstellung zu vereinfachen, und enthält einen Paketverwaltungsbefehl namens conda.

Über Conda und Pip

In der Welt von Python ist seit langem ein Paketverwaltungstool an sich selbst angehängt, und in der Vergangenheit habe ich EasyInstall verwendet, um später pip zu verwenden Ich musste es einrichten. Es war eins nach dem anderen mühsam. Es ist heutzutage die beste Zeit, um standardmäßig Pips in Python zu haben. Mit diesem Befehl können Sie das auf der Site PyPI veröffentlichte Paket mit dem Befehl über das Internet installieren. Es ist die beste Zeit.

Übrigens ist eine gemeinsame Geschichte der Diskurs, der "bricht", wenn Conda und Pip zusammen verwendet werden. Ich bin mir nicht sicher, was es zu brechen behauptet, aber es ist ungewöhnlich, dass Conda oder Pip überhaupt im selben Paket sind. Es ist nicht das Paketverwaltungssystem, das kaputt ist, sondern Ihr Kopf, der versucht, etwas Inkohärentes zu tun.

Versteh mich nicht falsch, Anaconda fügt das Paket ein, indem sie den grundlegenden Befehl conda eingibt, aber Sie können auch pip verwenden. Die ehemalige Conda wird aus dem Anaconda-Repository eingegeben. Der letztere Pip stammt von PyPI. Letzteres hat natürlich mehr Pakete. Außerdem hat PyPI keine Bewertung, sodass jeder ein Paketautor sein kann. Im Extremfall hat es niemand überprüft, selbst wenn Sie seltsamen Quellcode schreiben und auf PyPI veröffentlichen. Wenn Sie den Quellcode, den Sie nur für Ihr Projekt verwenden, verpacken und in PyPI einfügen, wird Ihnen niemand davon erzählen.

Auf der anderen Seite wird das Repository von Anaconda von der Firma verwaltet, also denke ich, dass ich es so überprüfe, wie es ist, aber ich bin keine Person im Inneren, also werde ich nicht garantieren, dass ich überprüfe!

Es gibt auch ein von der Community betriebenes Repository namens conda-forge, das Sie auch mit conda eingeben können. Aber zum Zeitpunkt der Verwendung scheint es doch ein Produkt der Community zu sein.

Um es ganz klar auszudrücken, die Abhängigkeiten zwischen Paketen hängen von der Bequemlichkeit des Autors ab, sodass niemand über die gesamte Python-Welt schaut und diese Beziehungen genau untersucht. Es hängt von Ihnen ab, wer es benutzt.

Diese Art von Diskussion gibt es schon lange nicht nur in Python, sondern auch in Rubys Paketverwaltungssystem, und schließlich macht jeder Pakete nach Belieben, also Freiheit. Open Source ist so etwas. Ich denke, die Atmosphäre ist so, dass der Benutzer sie überprüfen sollte.

Ich persönlich denke, dass nur die stabile Version von Debian die Abhängigkeiten zwischen Paketen gründlich überprüft und die Qualität beibehält.

Anzeigen von Abhängigkeitsinformationen mit pip

Wie der Paketbetreuer und Autor weiß, schreiben Sie bei der Registrierung bei PyPI verschiedene Metainformationen in die Paketverteilungsdatei.

Wie Sie die Abhängigkeitsinformationen überprüfen, können Sie mit dem folgenden Befehl anzeigen.

pip install pipdeptree #Mit pip eintreten
pipdeptree -p <Paketnamen>

Hier sind zum Beispiel einige Beispiele für Pakete, die als Pandas bezeichnet werden, für jede Version.

pandas==0.16.2
  - numpy [required: >=1.7.0, installed: 1.11.2]
  - python-dateutil [required: >=2, installed: 2.6.0]
    - six [required: >=1.5, installed: 1.10.0]
  - pytz [required: >=2011k, installed: 2016.7]

pandas==0.22.0
  - numpy [required: >=1.9.0, installed: 1.13.3]
  - python-dateutil [required: >=2, installed: 2.6.1]
  - six [required: >=1.5, installed: 1.11.0]
  - pytz [required: >=2011k, installed: 2017.2]

Dadurch erhalten Sie eine Vorstellung davon, welches Paket von welcher Version welches Pakets abhängt.

Zeigt doppelte Pakete sowohl in conda als auch in pip an

Ein häufiger Fall ist, dass Sie es mit conda verwalten, es aber versehentlich mit pip einfügen. So können doppelte Pakete mit dem folgenden Einzeiler angezeigt werden.

conda list | cut -d ' ' -f 1 | sort | uniq -d

Es ist eine gute Idee, gelegentlich zu überprüfen, ob keine Duplikate vorhanden sind.

Zusammenfassung

Deshalb wurde es länger, aber zusammenfassend

-Anacondas Paketverwaltung enthält die Befehle conda und pip.

Sie können die Zielumgebung erstellen, indem Sie auf diese verweisen.

Ich denke es sieht so aus. Ich akzeptiere alle Einwände, daher würde ich mich über Ihre Meinung freuen. Es ist rau, aber das war's.

Recommended Posts

Über Paketmanagement mit Conda und Pip
Python-Installation und Paketverwaltung mit pip
Hinweise zur Paketverwaltung mit conda
[Paketverwaltung] Installationsziel und interne Verarbeitung von apt und pip
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Über pip
Über _ und __
Aktualisieren Sie das Paket nur mit Pip-Standardfunktionen
Paketverwaltung in Maya-versuchen Sie, Pip in Mayapy zu setzen
Installieren des Python-Paketverwaltungstools pip (Windows)
Ich kann das Paket nicht mit pip installieren.
Wie wäre es mit einer virtuellen Umgebung mit Anaconda und einer Pip-Installation?
Was ist der Unterschied zwischen "pip" und "conda"?
Anmerkungen zu mit
mod_wsgi spricht über das Einfügen in pip
Installieren Sie Pip und Pandas mit Ubuntu oder VScode
conda vs. pip
pip vs conda
Erste Schritte mit Python3 # 2 Erfahren Sie mehr über Typen und Variablen
Lassen Sie uns das Abhängigkeitsmanagement mit pip etwas einfacher machen
Starten Sie die numerische Berechnung mit Python (mit Homebrew und Pip).
Umgang mit Pip und damit verbundenen Installationsfehlern unter Ubuntu 18.04
Installieren Sie tweepy mit pip und verwenden Sie es für API 1.1
Über Klasse und Instanz
PIL-Installation mit Pip
[Python] Pip und Wheel
Pakete mit pip3 installieren
Fehler bei der Pip-Installation
Über Cumprod und Cummax
Verwenden Sie pip mit MSYS2
Routineverwaltung mit Kalender
Über Kreuzvalidierung und F-Wert
Mit und ohne WSGI
Hinweis zur Anaconda-Paketverwaltung
Installieren Sie scikit.learn mit pip
Über "Lamvery", ein Bereitstellungs- und Verwaltungstool für AWS Lambda
Erstellen Sie mit Flask-AppBuilder ganz einfach Authentifizierung, Benutzerverwaltung und mehrsprachige Systeme
Sie können das mit pip install --user installierte Paket nicht finden?
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
Schritte zum lokalen Installieren eines geklonten Git-Pakets mit pip
Verschieben Sie das, was Sie mit pip installiert haben, in die Conda-Umgebung
Eine Geschichte über die Installation von matplotlib mit pip mit einem Fehler
Paket Python-Laufzeit- und Pypi-Bibliothek mit Chef / Omnibus und Docker