Como atualizo o Anaconda?

259

Eu tenho o Anaconda instalado no meu computador e gostaria de atualizá-lo. No Navigator, vejo que existem vários pacotes individuais que podem ser atualizados, mas também um anacondapacote que às vezes tem um número de versão e às vezes diz custom. Como eu prossigo?

insira a descrição da imagem aqui

IanSR
fonte
1
A maioria das respostas sugere conda update [-n root] -v anaconda, mas está oferecendo um downgrade para o meu python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Parece muito quebrado.
smci 14/11

Respostas:

417

O que 95% das pessoas realmente querem

Na maioria dos casos, o que você deseja fazer quando diz que deseja atualizar o Anaconda é executar o comando:

conda update --all

(Mas isso deve ser precedido por conda update -n root condaisso você tem a última condaversão instalada)

Isso atualizará todos os pacotes no ambiente atual para a versão mais recente - com as letras pequenas, que ele pode usar uma versão mais antiga de alguns pacotes para satisfazer restrições de dependência (geralmente isso não será necessário e quando for necessário). o solucionador do plano de pacotes fará o possível para minimizar o impacto).

Isso precisa ser executado a partir da linha de comando, e a melhor maneira de chegar lá é no Anaconda Navigator, na guia "Ambientes" e, em seguida, clique no triângulo ao lado do rootambiente, selecionando "Abrir terminal":

Abra o terminal do Navigator

Esta operação atualizará apenas o ambiente selecionado (nesse caso, o rootambiente). Se você tiver outros ambientes que deseja atualizar, poderá repetir o processo acima, mas primeiro clique no ambiente. Quando selecionado, existe um marcador triangular à direita (veja a imagem acima, etapa 3). Ou, na linha de comando, você pode fornecer o nome do ambiente ( -n envname) ou o caminho ( -p /path/to/env), por exemplo, para atualizar seu dspyrambiente a partir da captura de tela acima:

conda update -n dspyr --all

Atualizar pacotes individuais

Se você está interessado apenas em atualizar um pacote individual, basta clicar na seta azul ou no número da versão azul no Navigator, por exemplo, para astroidou astropyna captura de tela acima, e isso marcará esses pacotes para uma atualização. Quando terminar, clique no botão "Aplicar":

Aplicar para atualizar pacotes individuais

Ou na linha de comando:

conda update astroid astropy

Atualizando apenas os pacotes no Anaconda Distribution padrão

Se você não se importa com as versões dos pacotes e apenas deseja "o conjunto mais recente de todos os pacotes na distribuição padrão do Anaconda, desde que funcionem juntos" , você deve dar uma olhada nessa essência .

Por que atualizar o pacote Anaconda é quase sempre uma má ideia

Na maioria dos casos, a atualização do pacote Anaconda na lista de pacotes terá um resultado surpreendente: você pode realmente fazer o downgrade de muitos pacotes (na verdade, isso é provável se indicar a versão como custom). A essência acima fornece detalhes.

Alavancar ambientes conda

Seu rootambiente provavelmente não é um bom lugar para tentar gerenciar um conjunto exato de pacotes: será um espaço de trabalho dinâmico com novos pacotes instalados e pacotes atualizados aleatoriamente. Se você precisar de um conjunto exato de pacotes, crie um ambiente conda para armazená-los. Graças ao cache do pacote conda e a maneira como a vinculação de arquivos é usada, isso normalmente é i) rápido e ii) consome muito pouco espaço em disco adicional. Por exemplo

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

A documentação conda tem mais detalhes e exemplos.

pip, PyPI e setuptools?

Nada disso ajudará na atualização de pacotes que foram instalados a partir do PyPI via pipou qualquer pacote instalado usando python setup.py install. conda listfornecerá algumas dicas sobre os pacotes Python baseados em pip que você possui em um ambiente, mas não fará nada de especial para atualizá-los.

Uso comercial do Anaconda ou Anaconda Enterprise

É praticamente a mesma história, com a exceção de que talvez você não consiga atualizar o rootambiente se ele tiver sido instalado por outra pessoa (digamos /opt/anaconda/latest). Se você não conseguir atualizar os ambientes que está usando, poderá clonar e atualizar:

conda create -n myenv --clone root
conda update -n myenv --all
IanSR
fonte
4
@MattSchmatt certifique-se de fazer conda update condao mesmo. A Conda evoluiu substancialmente no ano passado e, em particular, tivemos um lançamento no final de setembro de 2017 que introduziu muitas melhorias. Se conda update --allquebrar coisas (o que, historicamente, era quase certo que isso acontecesse), esse é um erro que você deve reportar ao rastreador de problemas do conda GitHub - hoje essa operação não deve quebrar nenhum componente existente (com a condição de que o conda precise ser encontro).
21418 IanSR
7
Eu tive que fazer, em conda update -n root condavez do que foi mencionado acima, para que funcionasse.
26718 Lucas
9
Não conda update --allé isso que 95% das pessoas querem. Pode levar a um ambiente instável. Responder pelo usuário3056882 é mais seguro.
precisa saber é o seguinte
1
MacOS atual Anaconda3 version is 5.1.0. Mas quando eu faço conda -Visso me diz 4.5.1mesmo que eu corri conda update condae conda update anaconda. Alguma idéia do porquê?
Edison
3
conda update --allfalhou para mim com um erro de 'permissão negada'. Executei com privilégio de administrador com sucesso. Para executar com privilégio de administrador: Iniciar> Anaconda3> Prompt do Anaconda> Clique com o botão direito do mouse> Mais> Executar como administrador.
BabarBaig
100

Se você estiver tentando atualizar sua versão do Anaconda para uma nova, notará que a execução do novo instalador não funcionaria, pois ele reclama que o diretório de instalação não está vazio.

Portanto, você deve usar o conda para atualizar conforme detalhado pelos documentos oficiais :

conda update conda
conda update anaconda


No Windows, se você fez uma instalação "para todos os usuários", pode ser necessário executar a partir de um prompt do Anaconda com privilégios de administrador.

Basta clicar com o botão direito do mouse no Anaconda Prompt no menu Iniciar

Isso evita o erro:

ERRO conda.core.link:_execute(502): Ocorreu um erro ao desinstalar o pacote 'defaults :: conda-4.5.4-py36_0'. PermissionError (13, 'Acesso negado')

Cardin Lee JH
fonte
46

Abra "command ou conda prompt" e execute:

conda update conda
conda update anaconda

É uma boa idéia executar os dois comandos duas vezes (um após o outro) para garantir que todos os arquivos básicos sejam atualizados.

Isso deve colocar você de volta nos mais recentes 'releases', que contêm pacotes selecionados pelas pessoas do Continuum para trabalharem bem juntos.

Se você deseja que a última versão de cada pacote seja executada (isso pode levar a um ambiente instável ):

conda update --all 

Espero que isto ajude.

Fontes:

H.Latte
fonte
10
Se você preferir um ambiente estável do que ter a versão mais recente de cada pacote, pule a etapa 4. conda update anaconda, coloque-o de volta em um dos 'releases', que contém pacotes selecionados pelas pessoas no Continuum para trabalharem bem juntos.
Rudolfbyker
Obrigado Rudolfbyker. Editei a resposta para refletir seu comentário.
H.Latte
Se você receber o erro do pacote não instalado, tente conda install anaconda.
Shital Shah 19/05/19
Eu atualizo o conda e então todos os meus pacotes pararam de funcionar .... Não sei por que, mas acho que sua solução não é uma boa ideia porque o conda não é estável usando esta maneira de atualizar .... aqui está uma maneira de rolar volta
Travis
6

Se você tiver problemas para obter, por exemplo, do 3.3.x para o 4.x (atualização do conda, o conda "não funciona" para chegar à próxima versão) do que tente mais especificamente:

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

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

Você deve saber o que faz, porque o conda pode quebrar devido à instalação forçada. Se você deseja obter mais flexibilidade / segurança, use o pkg-manager como o nix (-pkgs) [com nix-shell] / NixOS.

Em lei
fonte
Talvez, mas você não consideraria isso totalmente quebrado, como um argumento?
smci 14/11
A versão "continuidade" é um padrão, por exemplo, no desenvolvimento (web). Como sempre, se você quiser ter tudo alinhado e reavaliado, deverá reconstruir tudo com as versões atualizadas. Em geral, um arquivo "conda update --all" com atualizações ../conda/../pinned também deve funcionar corretamente (! Cuide de instalações adicionais do pip!).
InLaw 14/11/18
2
Quando precisamos dizer manualmente ao atualizador para qual versão específica atualizar, ele não é mais um atualizador, apenas um instalador corrompido com uma interface gráfica bonita. Em geral conda update --allquebra tudo, como o seu próprio FAQ diz, e no meu exemplo, ele alegremente ofertas de downgrade meu python de 3.7.0 a 3.6.6 (embora ele sabe 3.7.1 está disponível)
SMCI
Essa é a sua opinião sobre um instalador, mas é um PADRÃO em TI (com alguma razão por trás disso). Novamente, isso depende especialmente do seu arquivo fixado E se você instalou o pkgs também via PIP! Em relação ao seu caso: se você tiver pkgs que não estão disponíveis ou são compatíveis com o python 3.7.x THAN, a versão do Python será compatível com as restrições de todos os pkgs em seu ambiente. Essa é a razão que existe "conda".
InLaw
Qual é o seu motivo para usar o conda (se não for para a verificação de integridade / downgrade que você está reclamando)?
InLaw 14/11
6

Isto é o que a documentação oficial da Anaconda recomenda:

conda update conda 
conda update anaconda=2020.02

Se a segunda linha gerar um erro (erro de digitação nos documentos?), Isso funcionou aqui:

conda install anaconda=2020.02

(você pode encontrar todo o especificador de versão aqui )

O comando será atualizado para uma versão específica do meta-pacote Anaconda.

Isso é o que 95% dos usuários do Anaconda querem. Simplesmente atualize para a versão mais recente do meta-pacote Anaconda (elaborado e testado pelos Distribuidores Anaconda) e não se preocupe com o status de atualização de pacotes individuais (que seriam emitidos por conda update --all).

MattSchmatt
fonte
5

Aqui está a melhor prática (na minha humilde experiência). A seleção desses quatro pacotes também atualizará todas as outras dependências para as versões apropriadas que ajudarão a manter seu ambiente consistente. Este último é um problema comum que outros expressaram em respostas anteriores. Esta solução não precisa do terminal.

Atualizando e atualizando as melhores práticas do Anaconda3 ou Anaconda2

Matriz completa
fonte
Obrigado, me ajudou!
Ilan Aizelman WS
3

Abra o Anaconda cmd no modo base:

Em seguida, use conda update conda para atualizar o Anaconda

Você pode usar o conda update --all para atualizar todos os requisitos do Anaconda

conda update conda  
conda update --all  
farshad
fonte
2

No Mac, abra o terminal e execute os 2 comandos seguintes.

conda update conda
conda update anaconda

certifique-se de executar cada comando várias vezes para atualizar para a versão atual.

Ajay Sant
fonte
7
tempo múltiplo? faz sentido fazer isso.
Deepak
2
Na minha experiência, se você apenas executar os comandos, uma vez que não serão atualizados para as versões mais recentes dos pacotes python. Então, sugiro executá-lo várias vezes.
Ajay Sant
Isto é duplicado de outra resposta aqui na mesma página: stackoverflow.com/a/46842054/109618
David J.
2

Estou usando o Windows 10. O seguinte atualiza tudo e também instala alguns novos pacotes, incluindo uma atualização em python (para mim era 3.7.3).

No shell, tente o seguinte (certifique-se de alterar onde os dados do Anaconda3 estão instalados). Leva algum tempo para atualizar tudo.

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

Para atualizar sua versão instalada para a versão mais recente, diga 2019.07, execute

conda install anaconda=2019.07

Na maioria dos casos, esse método pode atender às suas necessidades e evitar problemas de dependência

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

localize o env.yaml em C: \ Windows \ System32 e execute o cmd como administrador

conda env update -n root -f env.yaml  

então funciona!

leeningzzu
fonte
-6

Isso pode atualizar apenas o python:

conda update python
eric xu
fonte