Was 95% der Menschen tatsächlich wollen
In den meisten Fällen möchten Sie den folgenden Befehl ausführen, wenn Sie sagen, dass Sie Anaconda aktualisieren möchten:
conda update --all
(Dies sollte jedoch vorangestellt werden, conda update -n root conda
damit Sie die neueste conda
Version installiert haben.)
Dadurch werden alle Pakete in der aktuellen Umgebung auf die neueste Version aktualisiert. Das Kleingedruckte ist, dass möglicherweise eine ältere Version einiger Pakete verwendet wird, um Abhängigkeitsbeschränkungen zu erfüllen (häufig ist dies nicht erforderlich und wenn dies erforderlich ist) Der Paketplan-Löser wird sein Bestes tun, um die Auswirkungen zu minimieren.
Dies muss über die Befehlszeile ausgeführt werden. Der beste Weg dorthin führt über Anaconda Navigator, dann über die Registerkarte "Umgebungen". Klicken Sie dann auf das Dreieck neben der root
Umgebung und wählen Sie "Terminal öffnen":
Dieser Vorgang aktualisiert nur die eine ausgewählte Umgebung (in diesem Fall die root
Umgebung). Wenn Sie andere Umgebungen haben, die Sie aktualisieren möchten, können Sie den obigen Vorgang wiederholen, aber zuerst auf die Umgebung klicken. Wenn es ausgewählt ist, befindet sich rechts eine dreieckige Markierung (siehe Bild oben, Schritt 3). Oder Sie können über die Befehlszeile den Umgebungsnamen ( -n envname
) oder den Pfad ( -p /path/to/env
) angeben, um beispielsweise Ihre dspyr
Umgebung anhand des obigen Screenshots zu aktualisieren :
conda update -n dspyr --all
Aktualisieren Sie einzelne Pakete
Wenn Sie nur ein einzelnes Paket aktualisieren möchten, klicken Sie einfach in Navigator auf den blauen Pfeil oder die blaue Versionsnummer, z. B. für astroid
oder astropy
im obigen Screenshot. Dadurch werden diese Pakete für ein Upgrade markiert. Wenn Sie fertig sind, müssen Sie auf die Schaltfläche "Übernehmen" klicken:
Oder über die Kommandozeile:
conda update astroid astropy
Aktualisieren nur der Pakete in der Standard-Anaconda-Distribution
Wenn Sie sich nicht für Paketversionen interessieren und nur "den neuesten Satz aller Pakete in der Standard-Anaconda-Distribution, solange sie zusammenarbeiten" möchten, sollten Sie sich diesen Kern ansehen .
Warum das Aktualisieren des Anaconda-Pakets fast immer eine schlechte Idee ist
In den meisten Fällen führt das Aktualisieren des Anaconda-Pakets in der Paketliste zu einem überraschenden Ergebnis: Sie können tatsächlich viele Pakete herabstufen (dies ist wahrscheinlich, wenn die Version als angegeben wird custom
). Das Wesentliche oben enthält Details.
Nutzen Sie Conda-Umgebungen
Ihre root
Umgebung ist wahrscheinlich kein guter Ort, um einen genauen Satz von Paketen zu verwalten: Es wird ein dynamischer Arbeitsbereich sein, in dem neue Pakete installiert und Pakete zufällig aktualisiert werden. Wenn Sie einen genauen Satz von Paketen benötigen, erstellen Sie eine Conda-Umgebung, um diese zu speichern. Dank des Conda-Paket-Cache und der Art und Weise, wie die Dateiverknüpfung verwendet wird, ist dies normalerweise i) schnell und ii) verbraucht sehr wenig zusätzlichen Speicherplatz. Z.B
conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk
Die Conda-Dokumentation enthält weitere Details und Beispiele.
Pip, PyPI und Setuptools?
Nichts davon hilft beim Aktualisieren von Paketen, die von PyPI über pip
oder von mit installierten Paketen installiert wurden python setup.py install
. conda list
gibt Ihnen einige Hinweise zu den pip-basierten Python-Paketen, die Sie in einer Umgebung haben, aber es wird nichts Besonderes tun, um sie zu aktualisieren.
Kommerzielle Nutzung von Anaconda oder Anaconda Enterprise
Es ist ziemlich genau die gleiche Geschichte, mit der Ausnahme, dass Sie die root
Umgebung möglicherweise nicht aktualisieren können, wenn sie von einer anderen Person installiert wurde (sagen wir zu /opt/anaconda/latest
). Wenn Sie die von Ihnen verwendeten Umgebungen nicht aktualisieren können, sollten Sie in der Lage sein, Folgendes zu klonen und anschließend zu aktualisieren:
conda create -n myenv --clone root
conda update -n myenv --all
conda update [-n root] -v anaconda
, aber es bietet an, meine zu DOWNGRADIERENpython: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0
. Scheint sehr kaputt zu sein.