webentwicklung-frage-antwort-db.com.de

Wie aktualisiere ich mit conda auf Python 3.6?

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?

126
Aryaman

Anaconda hat python nicht intern auf 3.6 aktualisiert.

a) Methode 1

  1. Wenn Sie aktualisieren möchten, geben Sie conda update python ein.
  2. Zum Aktualisieren von Anaconda geben Sie conda update anaconda ein.
  3. 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

187
Moulick

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 
37
David Stansby

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:

  • backports_abc
  • wunderschöne Suppe
  • feuerkern

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.

21

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 
15
Aaron Hall

Ich verwende ein Mac OS Mojave

Diese 4 Schritte haben bei mir funktioniert.

  1. conda update conda
  2. conda install python==3.6
  3. conda install anaconda-client
  4. conda update anaconda
7

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 ...

0
Alex