El entorno es inconsistente, por favor revise el plan del paquete cuidadosamente

130

Intenté actualizar o instalar nuevos paquetes de anaconda y últimamente, apareció este mensaje:

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

Lo intenté con conda clean --ally luego conda update --allpero persiste.

Información 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
fuente

Respuestas:

85

Me había enfrentado al mismo problema. Simplemente corriendo

conda install anaconda

Resuelto el problema para mí.

mm49307
fuente
1
Tengo el mismo problema e hice lo que me sugirió. Pero sigo teniendo inconsistencias. Estoy ejecutando osx-64, ¿también ejecutas osx?
pink.slash
Sí, tengo macOS Mojave v10.14.4.
mm49307
2
Me sale el error conda update --all, por lo que no resuelve el problema (en algunos casos), pero conda installparece funcionar (y para actualizar otros paquetes en la lista)
Giacomo Catenazzi
8
Para mí, la solución fue en 2 pasos: primero, conda install anacondaque acaba de instalar un paquete anaconda y eliminó un paquete conda + actualizó algunas dependencias. Luego lo seguí conda update --ally todo volvió a estar bien. Mi sistema es Ubuntu 18.04 y me encontré con este problema después de actualizar el spyderpaquete que también causó una actualización de condasí mismo, y esto causó la inconsistencia.
MF.OX
conda install anacondatambién funcionó para mí, aunque tuve que esperar más de 5 minutos para que conda propusiera un plan de paquete.
Sahar
51

vi esto en Grupos de Google

Este mensaje se agregó en conda 4.6.9, anteriormente no había ninguna indicación cuando conda detectó un entorno inconsistente a menos que se ejecutara en modo de depuración. Es probable que su entorno haya sido inconsistente durante algún tiempo, pero la actualización a conda lo hizo visible. La mejor opción es ejecutar "conda install package_name" para los paquetes inconsistentes para permitir que conda intente restaurar la coherencia.

y realmente funciona para mi

Tal vez deberías intentarlo conda install anacondaen tu situación.

tys1998
fuente
8
El entorno inconsistente fue un problema molesto para TODOS mis entornos de conda, conda install anacondano fue suficiente. Necesito hacer exactamente esto: (re) instalar cada paquete llamado individualmente. ¡Gracias!
conner.xyz
1
@ conner.xyz Me encontré en una situación similar y decidí que escribir un fragmento que reinstalara cada paquete era un buen camino a seguir (vea mi respuesta a continuación). Sin embargo, tuvo la suerte de no tener que trabajar en múltiples entornos.
YenForYang
Gran respuesta: realmente agradable tener una explicación de por qué sucedió esto, así como una solución sucinta que (al menos para mí) funciona perfectamente.
DrAl
20

Las inconsistencias se deben a diferentes versiones de los paquetes y a sus dependencias en conflicto.

conda update --all

Este comando actualiza todos los paquetes y luego conda resuelve la inconsistencia por sí solo.

Sachin Kumar
fuente
Esta es la mejor respuesta, ya que solo actualiza paquetes que entran en conflicto y causan inconsistencias.
Rich Lysakowski PhD
1
Esto NO resuelve el problema porque la inconsistencia no es causada por dependencias, sino por un cambio en los metadatos en el lado del servidor (es decir, en el canal). Intenté esto y no funcionó, sin embargo, como dice el enlace, es una advertencia que puede ignorarse.
jena
7

Dada una situación como la siguiente,

> 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 se menciona en otras respuestas, la idea es tener algún tipo de relación installpara los paquetes inconsistentes.

Por lo tanto, con algunas copias - y - pegar, podría:

> 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

(y tendrías que repetir para todos los paquetes)


Mi "atajo"

Alternativamente, cocine una (fea) línea (esto debería funcionar tanto para Windows como para otras plataformas)

Nota : por "ORIGINAL_COMMAND", me refiero a cualquier comando que le proporcione el mensaje de error (sin ningún otro efecto secundario, idealmente)

<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))"

Expandiendo el one-liner anterior:

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
fuente
5

El comando conda install -c anaconda anacondahizo el truco para mí. Para mi configuración, necesito especificar el canal, de lo contrario no funcionaría. Después de ejecutar el comando en la terminal, se me solicitó que actualizara una lista de paquetes que se consideró inconsistente. Sin este paso, no pude instalar o actualizar ningún paquete con conda install <package_name>o conda update <package_namerespectivamente.

Kris Stern
fuente
5

Tuve el mismo problema y ninguna de las otras soluciones funcionó para mí. Terminé teniendo que desinstalar y reinstalar conda, luego reinstalar todas mis bibliotecas.

jschabs
fuente
1
¿Por qué el voto negativo? Probé muchas de las otras soluciones, que resultaron en el mismo mensaje sobre paquetes inconsistentes y conda girando para siempre. Una reinstalación completa tomó solo unos minutos y me dio un sistema de trabajo nuevamente. Obviamente, no recomendaría esto si tiene entornos valiosos que necesitan ser preservados.
Bas Swinckels
@BasSwinckels lol tal vez no hice suficiente énfasis en que NINGUNA de las otras soluciones funcionó para mí.
jschabs
5

Soluciones finales:

conda activate base
conda install anaconda
conda update --all

Funciona en Windows 10 y Ubuntu 18.04 (créditos a @ MF.OX para ubuntu).

Se eliminaron los siguientes problemas para mí:

  • The environment is inconsistent
  • WARNING conda.base.context:use_only_tar_bz2(632)
Hans
fuente
gracias, funciona Después de la actualización de base env, activé mi env virtual y repetí conda upadte --allpara obtener el # All requested packages alread installed.mensaje.
Hongsoog
3

Si las otras soluciones no funcionan, revertir el entorno puede solucionarlo.

Use conda list --revisions, elija un número de revisión y use conda install --revision [#] retroceder paso a paso hasta que todo vuelva a funcionar.

Kenl
fuente
0

Probablemente instaló anaconda con python 2.7 pero luego usó python 3.x. Por lo tanto, recibe un mensaje de error. En mi caso, resolví el problema activando anaconda con python 2.7:

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

Lo que funcionó para mí fue hacerlo conda remove <offending_packagename>, conda update --ally finalmente conda install <offending_packagename>.

Milind R
fuente