¿Cómo actualizo Anaconda?

259

Tengo instalado Anaconda en mi computadora y me gustaría actualizarlo. En Navigator puedo ver que hay varios paquetes individuales que se pueden actualizar, pero también un anacondapaquete que a veces tiene un número de versión y otras veces dice custom. ¿Cómo procedo?

ingrese la descripción de la imagen aquí

IanSR
fuente
1
La mayoría de las respuestas sugieren conda update [-n root] -v anaconda, pero está ofreciendo DESCENDER mi python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Parece muy roto.
smci

Respuestas:

417

Lo que realmente quiere el 95% de las personas

En la mayoría de los casos, lo que quiere hacer cuando dice que desea actualizar Anaconda es ejecutar el comando:

conda update --all

(Pero esto debe ser precedido por conda update -n root condalo que tiene condainstalada la última versión)

Esto actualizará todos los paquetes en el entorno actual a la última versión, con la letra pequeña de que puede usar una versión anterior de algunos paquetes para satisfacer las restricciones de dependencia (a menudo esto no será necesario y cuando sea necesario el el solucionador de planes de paquete hará todo lo posible para minimizar el impacto).

Esto debe ejecutarse desde la línea de comando, y la mejor manera de llegar es desde Anaconda Navigator, luego en la pestaña "Entornos", luego haga clic en el triángulo al lado del rootentorno, seleccionando "Abrir terminal":

Abrir terminal desde Navigator

Esta operación solo actualizará el entorno seleccionado (en este caso, el rootentorno). Si tiene otros entornos que desea actualizar, puede repetir el proceso anterior, pero primero haga clic en el entorno. Cuando se selecciona, hay un marcador triangular a la derecha (ver imagen arriba, paso 3). O desde la línea de comandos puede proporcionar el nombre del entorno ( -n envname) o la ruta ( -p /path/to/env), por ejemplo, para actualizar su dspyrentorno de la captura de pantalla anterior:

conda update -n dspyr --all

Actualizar paquetes individuales

Si solo está interesado en actualizar un paquete individual, simplemente haga clic en la flecha azul o en el número de versión azul en Navigator, por ejemplo, para astroido astropyen la captura de pantalla anterior, y esto etiquetará esos paquetes para una actualización. Cuando haya terminado, debe hacer clic en el botón "Aplicar":

Aplicar para actualizar paquetes individuales

O desde la línea de comando:

conda update astroid astropy

Actualizar solo los paquetes en la distribución estándar de Anaconda

Si no le interesan las versiones de paquete y solo quiere "el último conjunto de todos los paquetes en la Distribución estándar de Anaconda, siempre que funcionen juntos" , entonces debería echar un vistazo a esta esencia .

Por qué actualizar el paquete Anaconda es casi siempre una mala idea

En la mayoría de los casos, actualizar el paquete Anaconda en la lista de paquetes tendrá un resultado sorprendente: en realidad puede degradar muchos paquetes (de hecho, esto es probable si indica la versión como custom). La esencia anterior proporciona detalles.

Aproveche los entornos conda

rootProbablemente su entorno no sea un buen lugar para tratar de administrar un conjunto exacto de paquetes: será un espacio de trabajo dinámico con nuevos paquetes instalados y paquetes actualizados al azar. Si necesita un conjunto exacto de paquetes, cree un entorno conda para guardarlos. Gracias a la caché del paquete conda y la forma en que se usa la vinculación de archivos, esto suele ser i) rápido y ii) consume muy poco espacio adicional en el disco. P.ej

conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk

La documentación de conda tiene más detalles y ejemplos.

pip, PyPI y setuptools?

Nada de esto va a ayudar a actualizar los paquetes que se han instalado desde PyPI a través de pipo cualquier paquete instalado usando python setup.py install. conda listle dará algunas pistas sobre los paquetes de Python basados ​​en pip que tiene en un entorno, pero no hará nada especial para actualizarlos.

Uso comercial de Anaconda o Anaconda Enterprise

Es casi exactamente la misma historia, con la excepción de que es posible que no pueda actualizar el rootentorno si fue instalado por otra persona (por ejemplo /opt/anaconda/latest). Si no puede actualizar los entornos que está utilizando, debería poder clonar y luego actualizar:

conda create -n myenv --clone root
conda update -n myenv --all
IanSR
fuente
44
@MattSchmatt asegúrate de que tú también lo hagas conda update conda. Conda ha evolucionado sustancialmente en el último año, y en particular tuvimos un lanzamiento a fines de septiembre de 2017 que introdujo muchas mejoras. Si se conda update --allrompe algo (lo que, históricamente, era casi seguro que hiciera), entonces este es un error que debe informar al rastreador de problemas de conda GitHub: hoy esa operación no debería romper ningún componente existente (con la condición de que conda deba ser hasta fecha).
IanSR
77
Tuve que hacer en conda update -n root condalugar de lo que se mencionó anteriormente para que funcione.
Lucas
9
No conda update --alles lo que quiere el 95% de las personas. Puede conducir a un entorno inestable. La respuesta del usuario 3056882 es más segura.
gagarina
1
MacOS actual Anaconda3 version is 5.1.0. Pero cuando lo hago conda -Vme dice 4.5.1a pesar de que corrí conda update conday conda update anaconda. Alguna idea de por qué?
Edison
3
conda update --allfalló para mí con un error de "permiso denegado". Lo ejecutó con privilegio de administrador con éxito. Para ejecutar con privilegio de administrador: Inicio> Anaconda3> Símbolo de Anaconda> Haga clic con el botón derecho> Más> Ejecutar como administrador.
BabarBaig
100

Si está intentando actualizar su versión de Anaconda a una nueva, notará que ejecutar el nuevo instalador no funcionaría, ya que se queja de que el directorio de instalación no está vacío.

Por lo tanto, debe usar conda para actualizar como se detalla en los documentos oficiales :

conda update conda
conda update anaconda


En Windows, si realizó una instalación "para todos los usuarios", puede ser necesario ejecutar desde un indicador de Anaconda con privilegios de administrador.

Simplemente haga clic derecho en Anaconda Prompt en el menú de inicio

Esto evita el error:

ERROR conda.core.link:_execute(502): se produjo un error al desinstalar el paquete 'defaults :: conda-4.5.4-py36_0'. PermissionError (13, 'Acceso denegado')

Cardin Lee JH
fuente
46

Abra el "comando o conda prompt" y ejecute:

conda update conda
conda update anaconda

Es una buena idea ejecutar ambos comandos dos veces (uno después del otro) para asegurarse de que todos los archivos básicos estén actualizados.

Esto debería volver a ponerlo en los últimos 'lanzamientos', que contienen paquetes seleccionados por la gente de Continuum para que funcionen bien juntos.

Si desea ejecutar la última versión de cada paquete (esto puede generar un entorno inestable ):

conda update --all 

Espero que esto ayude.

Fuentes:

H.Latte
fuente
10
Si prefiere un entorno estable en lugar de tener la última versión de cada paquete, omita el paso 4. conda update anacondaDebería volver a ponerlo en una de las 'versiones', que contiene paquetes seleccionados por las personas de Continuum para que funcionen bien juntos.
rudolfbyker
Gracias Rudolfbyker. He editado la respuesta para reflejar tu comentario.
H.Latte
Si obtiene un error de paquete no instalado, intente conda install anaconda.
Shital Shah
Actualizo conda y luego todos mis paquetes dejaron de funcionar ... No sé por qué, pero creo que su solución no es una buena idea porque conda no es estable usando esta forma de actualización ... aquí hay una forma de rodar volver
Travis
6

Si tiene problemas para obtener, por ejemplo, de 3.3.xa 4.x (la actualización de conda conda "no funciona" para llegar a la próxima versión), entonces inténtelo de una manera más específica:

conda install conda=4.0 (or conda install anaconda=4.0)

https://www.anaconda.com/blog/developer-blog/anaconda-4-release/

Debe saber lo que hace, porque conda podría romperse debido a la instalación forzada. Si desea obtener más flexibilidad / seguridad, puede usar pkg-manager como nix (-pkgs) [con nix-shell] / NixOS.

Consuegro
fuente
Quizás, pero ¿no lo considerarías completamente roto, como un error?
smci
La versión "continuidad" es un estándar, por ejemplo, en el desarrollo (web). Como siempre, si desea alinear y reevaluar cada pensamiento, debe reconstruir todo con las versiones actualizadas. En general, una "actualización de conda --todos" con actualizaciones ../conda/../ pinned file también debería funcionar correctamente (¡tenga cuidado con las instalaciones adicionales de pip!).
InLaw
2
Cuando tenemos que decirle manualmente al actualizador a qué versión específica actualizar, ya no es un actualizador, solo un instalador dañado con una GUI bonita. En general conda update --allrompe todo, como dicen sus propias preguntas frecuentes, y en mi caso ofrece alegremente degradar mi python de 3.7.0 a 3.6.6 (aunque sabe que 3.7.1 está disponible)
smci
Esa es su opinión sobre un instalador, pero es un ESTÁNDAR en TI (con alguna razón detrás de esto). De nuevo, depende especialmente de su archivo anclado Y si instaló pkgs también a través de PIP. Con respecto a su caso: si tiene pkgs que no están disponibles o son compatibles con python 3.7.x, entonces obtendrá la versión de Python que puede ajustarse de manera óptima a las restricciones de todos los pkgs en su entorno. Esa es la razón por la que hay "conda".
InLaw
¿Cuál es su razón para usar conda (si no es por el control de integridad / degradación por el que se queja)?
InLaw
6

Esto es lo que el que recomienda la documentación oficial de Anaconda :

conda update conda 
conda update anaconda=2020.02

Si la segunda línea arroja un error (¿error tipográfico en los documentos?), Esto funcionó aquí:

conda install anaconda=2020.02

(puede encontrar todo el especificador de versión aquí )

El comando se actualizará a una versión específica del metapaquete Anaconda.

Esto es lo que quiere el 95% de los usuarios de Anaconda. Simplemente actualizando a la última versión del metapaquete Anaconda (elaborado y probado por los Distribuidores Anaconda) y sin preocuparse por el estado de actualización de los paquetes individuales (que serían emitidos por conda update --all).

MattSchmatt
fuente
5

Aquí está la mejor práctica (en mi humilde experiencia). La selección de estos cuatro paquetes también actualizará todas las demás dependencias a las versiones apropiadas que lo ayudarán a mantener su entorno consistente. Este último es un problema común que otros han expresado en respuestas anteriores. Esta solución no necesita el terminal.

Actualización y actualización de las mejores prácticas de Anaconda3 o Anaconda2

Matriz completa
fuente
Gracias, me ayudo!
Ilan Aizelman WS
3

Abra Anaconda cmd en modo base:

Luego use conda update conda para actualizar Anaconda

Luego puede usar la actualización de conda, todo para actualizar todos los requisitos para Anaconda

conda update conda  
conda update --all  
farshad
fuente
2

En Mac, abra la terminal y ejecute los siguientes 2 comandos.

conda update conda
conda update anaconda

asegúrese de ejecutar cada comando varias veces para actualizar a la versión actual.

Ajay Sant
fuente
77
tiempo múltiple? No tiene sentido hacer eso.
Deepak
2
En mi experiencia, si solo ejecuta los comandos una vez, no se actualiza a las últimas versiones de los paquetes de Python. Así que sugiero ejecutarlo varias veces.
Ajay Sant
Este es un duplicado de otra respuesta aquí en la misma página: stackoverflow.com/a/46842054/109618
David J.
2

Estoy usando Windows 10. Lo siguiente actualiza todo y también instala algunos paquetes nuevos, incluida una actualización de Python (para mí fue 3.7.3).

En el shell, intente lo siguiente (asegúrese de cambiar dónde está instalado su Anaconda3 Data). Lleva algún tiempo actualizar todo.

conda update --prefix X:\XXXXData\Anaconda3 anaconda
D Jacobson
fuente
1

Para actualizar su versión instalada a la última versión, diga 2019.07, ejecute

conda install anaconda=2019.07

En la mayoría de los casos, este método puede satisfacer sus necesidades y evitar problemas de dependencia.

QaraQoyunlu
fuente
0
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

busque el env.yaml en C: \ Windows \ System32 y ejecute el cmd como administrador

conda env update -n root -f env.yaml  

entonces funciona!

leeningzzu
fuente
-6

Esto solo puede actualizar Python:

conda update python
eric xu
fuente