In den meisten Fällen ist das, was Sie tun wollen, wenn Sie sagen, dass Sie Anaconda aktualisieren wollen, die Ausführung des Befehls:
conda update --all
(Aber das sollte vorher mit conda update -n root conda
gemacht werden, damit Sie die neueste conda
Version installiert haben)
Dies wird alle Pakete in der aktuellen Umgebung auf die neueste Version aktualisieren -- mit dem Kleingedruckten, dass es eine ältere Version einiger Pakete verwenden kann, um Abhängigkeitsbedingungen zu erfüllen (oft wird dies nicht notwendig sein und wenn es notwendig ist, wird der Paketplan-Löser sein Bestes tun, um die Auswirkungen zu minimieren).
Dies muss von der Kommandozeile aus ausgeführt werden, und der beste Weg dorthin führt über den Anaconda Navigator, dann die Registerkarte "Umgebungen", dann klicken Sie auf das Dreieck neben der root
Umgebung und wählen "Terminal öffnen":
Dieser Vorgang aktualisiert nur die eine ausgewählte Umgebung (in diesem Fall die "Root"-Umgebung). Wenn Sie andere Umgebungen aktualisieren möchten, können Sie den obigen Vorgang wiederholen, aber klicken Sie zuerst auf die gewünschte Umgebung. Wenn sie ausgewählt ist, erscheint rechts eine dreieckige Markierung (siehe Bild oben, Schritt 3). Sie können auch über die Befehlszeile den Namen der Umgebung (-n envname
) oder den Pfad (-p /path/to/env
) eingeben, um zum Beispiel die Umgebung dspyr
aus dem obigen Screenshot zu aktualisieren:
conda update -n dspyr --all
Wenn Sie nur ein einzelnes Paket aktualisieren möchten, klicken Sie einfach auf den blauen Pfeil oder die blaue Versionsnummer im Navigator, z.B. für astroid
oder astropy
im obigen Screenshot, und dies wird diese Pakete für ein Upgrade markieren. Wenn Sie fertig sind, müssen Sie auf die Schaltfläche "Anwenden" klicken:
Oder über die Befehlszeile:
conda update astroid astropy
Wenn Sie sich nicht um Paketversionen kümmern und nur "den neuesten Satz aller Pakete in der Standard-Anaconda-Distribution wollen, solange sie zusammen funktionieren", dann sollten Sie einen Blick auf diese gist werfen.
In den meisten Fällen wird das Aktualisieren des Anaconda-Pakets in der Paketliste ein überraschendes Ergebnis haben: Sie können viele Pakete tatsächlich downgraden (in der Tat ist dies wahrscheinlich, wenn die Version als custom
angegeben wird). Der Gist oben enthält Details.
Ihre `root'-Umgebung ist wahrscheinlich kein guter Ort, um zu versuchen, einen exakten 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 exakten Satz von Paketen benötigen, dann erstellen Sie eine conda-Umgebung, die diese enthält. Dank des conda-Paket-Caches und der Art und Weise, wie Dateiverknüpfungen verwendet werden, ist dies typischerweise 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.
Nichts davon wird bei der Aktualisierung von Paketen helfen, die von PyPI über pip
installiert wurden, oder von Paketen, die mit python setup.py install
installiert wurden. conda list
wird Ihnen einige Hinweise auf die pip-basierten Python-Pakete geben, die Sie in einer Umgebung haben, aber es wird nichts Besonderes tun, um sie zu aktualisieren.
Es ist so ziemlich genau die gleiche Geschichte, mit der Ausnahme, dass Sie möglicherweise nicht in der Lage sind, die root
-Umgebung zu aktualisieren, wenn sie von jemand anderem installiert wurde (z.B. nach /opt/anaconda/latest
). Wenn Sie nicht in der Lage sind, die Umgebungen zu aktualisieren, die Sie verwenden, sollten Sie in der Lage sein, zu klonen und dann zu aktualisieren:
conda create -n myenv --clone root
conda update -n myenv --all
Wenn Sie versuchen, Ihre Anaconda-Version auf eine neue zu aktualisieren, werden Sie feststellen, dass die Ausführung des neuen Installationsprogramms nicht funktioniert, da es sich beschwert, dass das Installationsverzeichnis nicht leer ist.
Daher sollten Sie conda zum Upgrade verwenden, wie in den [offiziellen Dokumenten] (https://docs.anaconda.com/anaconda/install/update-version) beschrieben:
conda update conda
conda update anaconda
Dadurch wird der Fehler vermieden:
ERROR conda.core.link:_execute(502): Beim Deinstallieren des Pakets 'defaults::conda-4.5.4-py36_0' ist ein Fehler aufgetreten. PermissionError(13, 'Zugriff wird verweigert')
Öffnen Sie die Eingabeaufforderung "command oder conda" und führen Sie sie aus:
conda update conda
conda update anaconda
Es empfiehlt sich, beide Befehle zweimal (nacheinander) auszuführen, um sicherzustellen, dass alle grundlegenden Dateien aktualisiert werden.
Dies sollte Sie wieder auf die neuesten 'releases' bringen, die Pakete enthalten, die von den Leuten bei Continuum ausgewählt wurden, um gut zusammenzuarbeiten.
Wenn Sie die letzte Version eines jeden Pakets ausführen wollen (dies kann zu einer instabilen Umgebung führen):
conda update --all
Ich hoffe, das hilft.
Quellen: