Numpy y pandas ‘ModuleNotFoundError’ en el cuaderno Jupyter (Python 3)

Cuando bash el comando de importación para pandas o numpy en el cuaderno de Jupyter, obtengo un ‘ModuleNotFoundError’ (ver más abajo).

Solo recientemente instalé Jupyter Notebooks (usando el instalador Anaconda). Al principio funcionó bien, pero la creación de núcleos para Python2 y Python3 ha creado un problema.

import numpy funciona bien si lo coloco en un archivo .py separado y ejecuto desde la ventana de la terminal, sin mensajes de error.

 --------------------------------------------------------------------------- `ModuleNotFoundError Traceback (most recent call last)  in () ----> 1 import numpy ModuleNotFoundError: No module named 'numpy'` 

Esta pregunta tiene casi dos años, pero hay tantos problemas potenciales diferentes, relacionados con los entornos de Conda y los múltiples núcleos de ipython, que vale la pena responder.

Puede haber varios problemas diferentes aquí. La primera pregunta es si el paquete necesario está instalado o no en ambos entornos. Teniendo en cuenta que el número de import numpy funciona para usted cuando inicia el intérprete de Python desde la consola, se instala en el entorno base, pero ¿qué pasa con los demás? Puede verificar los paquetes instalados en otros entornos con la conda list -n ENV_NAME .

Si falta el paquete, se puede instalar en el entorno de destino con conda install -n ENV_NAME PACKAGE_NAME .

La siguiente pregunta es ¿cómo se inicia el cuaderno Jupyter? Mirando tus caminos, estás en Windows. Por lo tanto, puede haber accesos directos en el menú Inicio creados por Anaconda, o puede ejecutar Jupyter desde el símbolo del sistema.

Si utiliza los accesos directos, el entorno conda con Jupyter debería activarse automáticamente y todos los paquetes en ese entorno deberían estar disponibles. Pero si intenta ejecutar Jupyter desde el símbolo del sistema, debe activar el entorno usted mismo, antes de iniciar Jupyter:

 activate `ENV_NAME` jupyter notebook 

Para simplificar la activación del entorno en Windows, puede crear archivos de inicio .bat/.cmd , que activarán el entorno relevante y ejecutarán el intérprete de Python o Jupyter en el contexto apropiado. Aquí puedes encontrar un ejemplo.

Finalmente, para complicar las cosas, puede tener varias instalaciones locales de Jupyter, cada una en su propio entorno, que contenga su propio kernel ipython local, o podría haber un solo Jupyter en un entorno, conectado a los kernels ipython en otros entornos.

En el primer caso, la activación del entorno relevante antes de ejecutar Jupyter debería ser suficiente. En el último caso, hay varias formas de agregar especificaciones de kernel a Jupyter, pero la más fácil es usar el paquete nb_conda_kernels . Con esto, Jupyter debería encontrar núcleos ipython en otros entornos conda dinámicamente.