O ambiente é inconsistente, verifique cuidadosamente o plano do pacote

130

Tentei atualizar ou instalar novos pacotes do anaconda e, ultimamente, esta mensagem apareceu:

The environment is inconsistent, please check the package plan carefully
The following package are causing the inconsistency:

   - defaults/win-32::anaconda==5.3.1=py37_0

done

Eu tentei com conda clean --alle depois, conda update --allmas ele persiste.

Informação Conda

active environment : base
    active env location : C:\Users\NAME\Continuum
            shell level : 1
       user config file : C:\Users\NAME\.condarc
 populated config files : C:\Users\NAME\.condarc
          conda version : 4.6.11
    conda-build version : 3.17.7
         python version : 3.7.3.final.0
       base environment : C:\Users\NAME\Continuum  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-32
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-32
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-32
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-32
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\NAME\Continuum\pkgs
                          C:\Users\NAME\.conda\pkgs
                          C:\Users\NAME\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\NAME\Continuum\envs
                          C:\Users\NAME\.conda\envs
                          C:\Users\NAME\AppData\Local\conda\conda\envs
               platform : win-32
             user-agent : conda/4.6.11 requests/2.21.0 CPython/3.7.3 Windows/10 Windows/10.0.17763
          administrator : False
             netrc file : None
           offline mode : False
Angel Salazar
fonte

Respostas:

85

Eu havia enfrentado o mesmo problema. Simplesmente executando

conda install anaconda

resolveu o problema para mim.

mm49307
fonte
1
Eu tenho o mesmo problema e fiz como você sugeriu. Mas ainda estou tendo inconsistências. Estou executando o osx-64, você também executa o osx?
pink.slash
Sim, eu tenho o macOS Mojave v10.14.4.
mm49307
2
Eu recebo o erro com conda update --all, por isso não resolve o problema (em alguns casos), mas conda installparece trabalho (e para atualizar outros pacotes na lista)
Giacomo Catenazzi
8
Para mim, a solução foi em 2 etapas: primeiro, conda install anacondaque apenas instalou o pacote anaconda e removeu um pacote conda + atualizou algumas dependências. Então eu segui conda update --alle tudo estava bem novamente! Meu sistema é o Ubuntu 18.04 e me deparei com este problema após a atualização do spyderpacote, que também causou uma atualização para condasi mesmo, e isso causou a inconsistência.
MF.OX 03/07/19
conda install anacondatambém funcionou para mim, embora eu tenha que esperar mais de 5 minutos para que a conda proponha um plano de pacotes.
Sahar
51

vi isso nos Grupos do Google

Esta mensagem foi adicionada no conda 4.6.9; anteriormente não havia indicação quando o conda detectava um ambiente inconsistente, a menos que o conda fosse executado no modo de depuração. É provável que seu ambiente tenha sido inconsistente por algum tempo, mas a atualização para o conda o tornou visível. A melhor opção é executar "conda install package_name" para os pacotes inconsistentes, para permitir que o conda tente restaurar a consistência.

e realmente funciona para mim.

Talvez você deva tentar conda install anacondana sua situação.

tys1998
fonte
8
O ambiente inconsistente foi um problema incômodo para TODOS os meus ambientes condados, conda install anacondanão foi suficiente. Preciso fazer exatamente isso: (re) instalar cada pacote chamado individualmente. Obrigado!
Conner.xyz
1
@ conner.xyz Eu me encontrei em uma situação semelhante e decidi que escrever um trecho que reinstalasse cada pacote era um caminho justo a seguir (veja minha resposta abaixo). No entanto, teve a sorte de não precisar trabalhar em vários ambientes.
YenForYang
Ótima resposta - é muito bom ter uma explicação de por que isso aconteceu, além de uma solução sucinta que (pelo menos para mim) funciona perfeitamente.
DrAl
20

As inconsistências são causadas devido a diferentes versões dos pacotes e suas dependências conflitantes.

conda update --all

Este comando atualiza todos os pacotes e o conda resolve sozinho a inconsistência.

Sachin Kumar
fonte
Essa é a melhor resposta, pois atualiza apenas pacotes que conflitam e causam inconsistências.
Rich Lysakowski PhD
1
Isso NÃO resolve o problema porque a inconsistência não é causada por dependências, mas pela alteração nos metadados no lado do servidor (ou seja, no canal). Eu tentei isso e não funcionou, no entanto, como o link diz, é um aviso que pode ser ignorado.
Jena
7

Dada uma situação como a seguinte,

> conda update -c intel --all
Collecting package metadata: done
Solving environment: |
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - intel/win-64::ipython==6.3.1=py36_3
  - intel/win-64::prompt_toolkit==1.0.15=py36_2
done

Como mencionado em outras respostas, a idéia é ter algum tipo de installreação para os pacotes inconsistentes.

Assim, com algumas cópias - e - pastas, você pode:

> conda install intel/win-64::ipython==6.3.1=py36_3
Collecting package metadata: done
Solving environment: /
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - intel/win-64::ipython==6.3.1=py36_3
  - intel/win-64::prompt_toolkit==1.0.15=py36_2
done

## Package Plan ##

  environment location: c:\conda

  added / updated specs:
    - ipython


The following NEW packages will be INSTALLED:

  jedi               intel/win-64::jedi-0.12.0-py36_2
  parso              intel/win-64::parso-0.2.0-py36_2
  pygments           intel/win-64::pygments-2.2.0-py36_5
  wcwidth            intel/win-64::wcwidth-0.1.7-py36_6


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(e você teria que repetir para todos os pacotes)


Meu "atalho"

Como alternativa, crie uma linha única (feia) (isso deve funcionar para Windows e outras plataformas)

Nota : por "ORIGINAL_COMMAND", estou me referindo a qualquer comando que forneça a mensagem de erro (sem outros efeitos colaterais, de preferência)

<ORIGINAL_COMMAND> 2>&1 | python -c "import sys,re,conda.cli; conda.cli.main('conda','install','-y',*re.findall(r'^\s*-\s*(\S+)$',sys.stdin.read(),re.MULTILINE))"

Expandindo o one-liner acima:

from re import findall, MULTILINE
from sys import stdin
from conda.cli import main

main(
    "conda", "install", "-y",
    "--force",  # Maybe add a '--force'/'--force-reinstall' (I didn't add it for the one-liner above)
    *findall(r"^\s*-\s*(\S+)$", stdin.read(), MULTILINE)  # Here are the offenders
)
YenForYang
fonte
5

O comando conda install -c anaconda anacondafez o truque para mim. Para minha configuração, preciso especificar o canal, caso contrário não funcionaria. Depois de executar o comando no terminal, fui solicitado a atualizar uma lista de pacotes que foram considerados inconsistentes. Sem essa etapa, não consegui instalar ou atualizar nenhum pacote com conda install <package_name>ou conda update <package_namerespectivamente.

Kris Stern
fonte
5

Teve esse mesmo problema e nenhuma das outras soluções funcionou para mim. Acabou tendo que desinstalar e reinstalar o conda, depois reinstale todas as minhas bibliotecas.

jschabs
fonte
1
Por que o voto negativo? Eu tentei muitas das outras soluções, que resultaram na mesma mensagem sobre pacotes inconsistentes e rotações condicionais para sempre. Uma reinstalação completa levou apenas alguns minutos e me deu um sistema funcionando novamente. Obviamente, eu não recomendaria isso se você tiver ambientes valiosos que precisem ser preservados.
Bas Swinckels
@BasSwinckels lol talvez eu não tenha enfatizado o suficiente para que nenhuma das outras soluções funcionasse para mim.
Jschabs 28/08/19
5

Soluções definitivas:

conda activate base
conda install anaconda
conda update --all

Funciona no Windows 10 e Ubuntu 18.04 (créditos para @ MF.OX no ubuntu).

Removidos os seguintes problemas para mim:

  • The environment is inconsistent
  • WARNING conda.base.context:use_only_tar_bz2(632)
Hans
fonte
obrigado, funciona. Após a atualização do ambiente base, ativei o ambiente virtual e repitai conda upadte --allpara receber a # All requested packages alread installed.mensagem.
Hongsoog 02/07
3

Se as outras soluções não funcionarem, a reversão do ambiente pode corrigir isso.

Use conda list --revisions, escolha um número de revisão e conda install --revision [#] volte passo a passo até que tudo funcione novamente.

kenl
fonte
0

Você provavelmente instalou o anaconda com o python 2.7, mas mais tarde usou o python 3.x. Assim, você está recebendo uma mensagem de erro. No meu caso, resolvi o problema ativando o anaconda com o python 2.7:

conda create --name py2 python=2.7
Jakir
fonte
0

O que funcionou para mim foi conda remove <offending_packagename>, conda update --alle então finalmente conda install <offending_packagename>.

Milind R
fonte