¿Cómo actualizo a Python 3.6 con conda?

171

Soy nuevo en la administración de paquetes de Conda y quiero obtener la última versión de Python para usar cadenas f en mi código. Actualmente mi versión es ( python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

¿Cómo actualizaría a Python 3.6?

Aryaman
fuente
La segunda respuesta es, creo, la mejor respuesta, especialmente para aquellos que tienen un entorno "maestro" / "predeterminado" en el que lo último y lo mejor se actualiza continuamente.
ericmjl 01 de

Respuestas:

248

Anaconda no ha actualizado Python internamente a 3.6.

a) Método 1

  1. Si desea actualizar, escriba conda update python
  2. Para actualizar el tipo anaconda conda update anaconda
  3. Si desea actualizar entre la versión principal de Python como 3.5 a 3.6, tendrá que hacer

    conda install python=$pythonversion$

b) Método 2: crear un nuevo entorno (Método mejor)

conda create --name py36 python=3.6

c) Para obtener la última versión de Python (3.6.5 en el momento de la escritura)

conda create --name py365 python=3.6.5 --channel conda-forge

Puedes ver todo esto desde aquí

Además, consulte esto para forzar la actualización

EDITAR: Anaconda ahora tiene una versión de Python 3.6 aquí

Moulick
fuente
18
A menos que Continuum haya cambiado el funcionamiento de conda, no puede actualizar las versiones principales de Python conda update python. Ver aquí: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
darthbith
14
conda install python = $ pythonversion $ eg conda install python = 3.6
Tim Richardson
11
conda update pythonsolo me llevó de 3.6.5 a 3.7.0. ¡Ordenado!
fredrik
Hay un error tipográfico en la respuesta, Método 1.3. Debe ser conda install python=$pythonversion$con un solo signo igual.
eze1981
Para su información, el método a) también funciona para cambiar entre diferentes versiones de python, siempre y cuando no rompa ninguna dependencia dentro del venv
Spcogg el segundo
41

Crear un nuevo entorno instalará python 3.6:

$ 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 
David Stansby
fuente
2
Si su instalación de conda es para Python 2.7, entonces conda create creará una versión 2.7. cambiar el comando a conda create --name 3point6 python=3(agregando =3al final) crea una versión de python3.
Jonah Graham
1
De hecho lo hará. ¡He cambiado mi respuesta para especificar Python 3.6!
David Stansby
25

encontré esta página con instrucciones detalladas para actualizar Anaconda a una versión más nueva y más importante de Python (de Anaconda 4.0+). Primero,

conda update conda
conda remove argcomplete conda-manager

También tuve conda removealgunos paquetes que no están en la lista oficial:

  • backports_abc
  • hermosa sopa
  • núcleo ardiente

Dependiendo de los paquetes instalados en su sistema, puede obtener UnsatisfiableErrorerrores adicionales , simplemente agregue esos paquetes a la lista de eliminación. A continuación, instale la versión de Python,

conda install python==3.6

lo que lleva un tiempo, después de lo cual un mensaje indicó conda install anaconda-client, así que hice

conda install anaconda-client

que dijo que ya está allí. Finalmente, siguiendo las instrucciones,

conda update anaconda

Hice esto en el símbolo del sistema de Windows 10, pero las cosas deberían ser similares en Mac OS X.

Christian Tremblay
fuente
18

En el pasado, me ha resultado bastante difícil intentar actualizar en el lugar.

Nota: mi caso de uso para Anaconda es como un entorno Python todo en uno. No me molesto con entornos virtuales separados. Si está utilizando condapara crear entornos, esto puede ser destructivo porque condacrea entornos con enlaces duros dentro de su Anaconda/envsdirectorio.

Entonces, si usa entornos, es posible que primero desee exportar sus entornos . Después de activar su entorno, haga algo como:

conda env export > environment.yml

Después de hacer una copia de seguridad de sus entornos (si es necesario), puede eliminar su antigua Anaconda (es muy sencillo desinstalar Anaconda):

$ rm -rf ~/anaconda3/

y reemplácelo descargando la nueva Anaconda, por ejemplo, Linux, 64 bit:

$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh 

( mira aquí para ver uno más reciente ),

y luego ejecutándolo:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 
Aaron Hall
fuente
11

Estoy usando un Mac OS Mojave

Estos 4 pasos funcionaron para mí.

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda update anaconda
Abdul Rahman Hafez
fuente
0

El mejor método que encontré:

source activate old_env
conda env export > old_env.yml

Luego procesalo con algo como esto:

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)

luego edite manualmente la primera ( name: ...) y la última línea ( prefix: ...) para reflejar su nuevo nombre de entorno y ejecute:

conda env create -f new_env.yml

Es posible que deba eliminar o cambiar manualmente el pin de versión de algunos paquetes para los que la versión anclada old_enves incompatible o falta para la nueva versión de Python.

Desearía que hubiera una manera incorporada y más fácil ...

Alex
fuente