Instalé y creé un virtualenv machinelearn e instalé algunos módulos de python (pandas, scipy y sklearn) en ese entorno.
Cuando ejecuto jupyter notebook, puedo importar pandas y scipy en mis notebooks; sin embargo, cuando intento importar sklearn, aparece el siguiente mensaje de error:
import sklearn --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-1-8fd979e02004> in <module>() ----> 1 import sklearn ImportError: No module named 'sklearn'
Puedo importar todos los módulos, en la línea de comando, así que sé que se han instalado correctamente:
(machinelearn) me@yourbox:~/path/to/machinelearn$ python -c "import pandas, scipy, sklearn" (machinelearn) me@yourbox:~/path/to/machinelearn$
¿Cómo puedo importar sklearn en mi cuaderno jupyter ejecutándose en un virtualenv?
Probablemente no hayas instalado jupyter/IPython en tu virtualenv. Prueba lo siguiente:
python -c "import IPython"
y verifique que el comando jupyter
que se encuentra en su $PATH
sea el de la carpeta bin
de su venv:
which jupyter
Para los usuarios de Windows en una consola PowerShell, puede usar lo siguiente para verificar que el comando jupyter
en su $env:Path
es el de la carpeta Scripts
de su venv:
get-command jupyter
Editar : si este es el problema, simplemente ejecute python -m pip install jupyter
en su venv.
Edición 2 : en realidad, es posible que también necesite:
python -m ipykernel install --user --name=my-virtualenv-name
y luego cambie el kernel llamado "my-virtualenv-name" en la interfaz de usuario de jupyter.
Edición 3 : tal vez el indicador --user
en el último comando sea una mala idea:
python -m ipykernel install --name=my-virtualenv-name
Otro enfoque a tomar es tener una instalación global de jupyter, pero apuntar a diferentes núcleos para ejecutar como backend.
Ese enfoque se describe aquí en sus documentos: http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
Copiando a continuación en caso de que el enlace se rompa: puede usar un virtualenv para su computadora portátil IPython. Siga los siguientes pasos:
Instale el módulo del kernel de ipython en su virtualenv
workon my-virtualenv-name # activate your virtualenv, if you haven't already pip install ipykernel
Ahora ejecute el script de "autoinstalación" del kernel:
python -m ipykernel install --user --name=my-virtualenv-name
Reemplazando el parámetro --name según corresponda.
Ahora debería poder ver su kernel en el menú del cuaderno de IPython: Kernel -> Change kernel y poder cambiarlo (es posible que deba actualizar la página antes de que aparezca en la lista). IPython recordará qué kernel usar para ese portátil a partir de ese momento.
Para usar Jupyter Notebook con un entorno virtual (usando virtualenvwrapper) más paquetes instalados en ese entorno, siga los pasos a continuación:
crear un entorno virtual
mkvirtualenv --no-site-packages --python=/your/python/path your_env_name
Activar el entorno virtual
workon your_env_name
Instalar Jupyter y otros paquetes
pip install jupyter, numpy
Agregue un nuevo kernel a su configuración de Jupyter
ipython kernel install --user --name=your_env_name
Hecho. Ahora puede usar el cuaderno Jupyter en el entorno virtual.
jupyter-notebook
Descargo de responsabilidad: la pregunta ha sido respondida pero está oculta en una de las respuestas. Busqué en Google y me tomó un tiempo encontrar la respuesta correcta. Así que solo lo resumo para que alguien que tenga el mismo problema pueda seguirlo fácilmente.