Ich bin neu in der Conda-Paketverwaltung und möchte, dass die neueste Version von Python f-Strings in meinem Code verwendet. Derzeit ist meine Version (python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Wie würde ich ein Upgrade auf Python 3.6 durchführen?
Anaconda hat python nicht intern auf 3.6 aktualisiert.
a) Methode 1
conda update python
ein.conda update anaconda
ein.Wenn Sie ein Upgrade zwischen der Hauptversion von python wie 3.5 auf 3.6 durchführen möchten, müssen Sie dies tun
conda install python==$pythonversion$
b) Methode 2 - Neue Umgebung erstellen (bessere Methode)
conda create --name py36 python=3.6
c) Um den absolut neuesten Python zu erhalten (3.6.5 zum Zeitpunkt des Schreibens)
conda create --name py365 python=3.6.5 --channel conda-forge
Sie können dies alles von hier sehen
Lesen Sie hierzu auch force pgrade
BEARBEITEN: Anaconda hat jetzt eine Python 3.6-Version hier
Beim Erstellen einer neuen Umgebung wird python 3.6 installiert:
$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:
The following NEW packages will be INSTALLED:
openssl: 1.0.2j-0
pip: 9.0.1-py36_1
python: 3.6.0-0
readline: 6.2-2
setuptools: 27.2.0-py36_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py36_0
xz: 5.2.2-1
zlib: 1.2.8-3
Ich fand diese Seite mit detaillierten Anweisungen zum Upgrade von Anaconda auf eine größere neuere Version von Python (von Anaconda 4.0+). Zuerst,
conda update conda
conda remove argcomplete conda-manager
Ich musste auch einige Pakete conda remove
, die nicht auf der offiziellen Liste standen:
Abhängig von den auf Ihrem System installierten Paketen können zusätzliche UnsatisfiableError
Fehler auftreten. Fügen Sie diese Pakete einfach der Entfernungsliste hinzu. Installieren Sie als Nächstes die Version von Python.
conda install python==3.6
das dauert eine Weile, und danach wird eine Nachricht an conda install anaconda-client
gesendet, also habe ich es getan
conda install anaconda-client
was sagte, es ist schon da. Schließlich folgen Sie den Anweisungen,
conda update anaconda
Ich habe dies in der Windows 10-Eingabeaufforderung getan, aber unter Mac OS X sollte es ähnlich sein.
In der Vergangenheit war es ziemlich schwierig, ein Upgrade vor Ort durchzuführen.
Hinweis: Mein Anwendungsfall für Anaconda ist eine all-in-one Python Umgebung. Ich kümmere mich nicht um separate virtuelle Umgebungen. Wenn Sie conda
zum Erstellen von Umgebungen verwenden, kann dies destruktiv sein, da conda
Umgebungen mit Hardlinks in Ihrem Anaconda/envs
-Verzeichnis erstellt.
Wenn Sie also Umgebungen verwenden, möchten Sie möglicherweise zuerst Ihre Umgebungen exportieren . Nachdem Sie Ihre Umgebung aktiviert haben, tun Sie Folgendes:
conda env export > environment.yml
Nach dem Sichern Ihrer Umgebungen können Sie gegebenenfalls Ihre alte Anaconda entfernen (sehr einfach zu deinstallierende Anaconda):
$ rm -rf ~/anaconda3/
und ersetzen Sie es durch Herunterladen der neuen Anaconda, z. Linux, 64 Bit:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
( siehe hier für eine neuere Version ),
dann führe es aus:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
Ich verwende ein Mac OS Mojave
Diese 4 Schritte haben bei mir funktioniert.
conda update conda
conda install python==3.6
conda install anaconda-client
conda update anaconda
Beste Methode, die ich gefunden habe:
source activate old_env
conda env export > old_env.yml
Dann verarbeite es so:
with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
for line in fin:
if 'py35' in line: # replace by the version you want to supersede
line = line[:line.rfind('=')] + '\n'
fout.write(line)
bearbeiten Sie dann die erste (name: ...
) und letzte Zeile (prefix: ...
) manuell, um den Namen Ihrer neuen Umgebung wiederzugeben, und führen Sie Folgendes aus:
conda env create -f new_env.yml
möglicherweise müssen Sie den Versions-Pin einiger Pakete, für die die angeheftete Version von old_env
für inkompatibel befunden wird oder für die neue python -Version fehlt, manuell entfernen oder ändern.
Ich wünschte, es gäbe einen eingebauten, einfacheren Weg ...