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-namey 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-nameOtro 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 ipykernelAhora ejecute el script de "autoinstalación" del kernel:
python -m ipykernel install --user --name=my-virtualenv-nameReemplazando 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_nameActivar el entorno virtual
workon your_env_nameInstalar Jupyter y otros paquetes
pip install jupyter, numpyAgregue un nuevo kernel a su configuración de Jupyter
ipython kernel install --user --name=your_env_nameHecho. Ahora puede usar el cuaderno Jupyter en el entorno virtual.
jupyter-notebookDescargo 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.