¿Cómo actualizo Anaconda?
Tengo Anaconda instalado 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 anaconda
paquete que a veces tiene un número de versión y otras veces dice custom
. ¿Cómo procedo?
root
es el nombre antiguo (anterior a Conda 4.4) del entorno principal; Después de conda 4.4, se le cambió el nombre abase
. fuente
Lo que el 95% de la gente realmente quiere
En la mayoría de los casos, lo que desea hacer cuando dice que desea actualizar Anaconda es ejecutar el comando:
conda update --all
(Pero esto debe ir precedido oconda update -n base conda
simplemente conda update conda
para que tengas conda
instalada la última versión)
Esto actualizará todos los paquetes en el entorno actual a la última versión; la letra pequeña indica 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 solucionador de planes de paquetes hará todo lo posible para minimizar el impacto).
Esto debe ejecutarse desde la línea de comando, y la mejor manera de llegar allí es desde Anaconda Navigator, luego la pestaña "Entornos", luego haga clic en el triángulo al lado del base
entorno, seleccionando "Abrir terminal":
Esta operación solo actualizará el entorno seleccionado (en este caso, el base
entorno). 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 comando puede proporcionar el nombre del entorno ( -n envname
) o la ruta ( -p /path/to/env
), por ejemplo, para actualizar su dspyr
entorno desde 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, en astroid
o astropy
en 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":
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 importan las versiones de los paquetes y solo desea "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 casi siempre es 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.
Aprovechar los entornos conda
Probablemente su base
entorno no sea un buen lugar para intentar administrar un conjunto exacto de paquetes: será un espacio de trabajo dinámico con nuevos paquetes instalados y paquetes actualizados aleatoriamente. Si necesita un conjunto exacto de paquetes, cree un entorno conda para contenerlos. Gracias a la caché del paquete conda y a la forma en que se utiliza 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 herramientas de configuración?
Nada de esto ayudará a actualizar los paquetes que se han instalado desde PyPI mediante pip
o cualquier paquete instalado mediante python setup.py install
. conda list
le 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 prácticamente la misma historia, con la excepción de que es posible que no puedas actualizar el base
entorno si lo instaló 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 base
conda update -n myenv --all
Si está intentando actualizar su versión de Anaconda a una nueva, notará que ejecutar el nuevo instalador no funcionará, 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", es posible que sea necesario ejecutar Anaconda desde un mensaje con privilegios de administrador.
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')
Abra el "símbolo del sistema o conda" y ejecute:
conda update conda
conda update anaconda
Es una buena idea ejecutar ambos comandos dos veces (uno tras otro) para asegurarse de que todos los archivos básicos estén actualizados.
Esto debería devolverle a las últimas 'versiones', 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 provocar un entorno inestable ):
conda update --all
Espero que esto ayude.
Fuentes:
- https://docs.anaconda.com/anaconda/install/update-version
- https://github.com/conda/conda/issues/1414#issuecomment-119071154
Esto es lo que recomienda la documentación oficial de Anaconda :
conda update conda
conda install anaconda=2021.11
Puede encontrar los códigos de la versión actual y anterior aquí .
El comando se actualizará a una versión específica del metapaquete Anaconda.
Siento que (contrariamente a lo que se afirma en la respuesta aceptada) esto es más lo que el 95% de los usuarios de Anaconda quieren en mi humilde opinión: actualizar a la última versión del metapaquete de Anaconda (creado y probado por los distribuidores de Anaconda) e ignorar el actualizar el estado de los paquetes individuales, que serían emitidos por conda update --all
.