entorno crear python python-3.x ipython-notebook jupyter

crear entorno virtual python windows



Ejecute el script Python dentro del cuaderno Jupyter usando un virtualenv especĂ­fico (6)

Me gustaría ejecutar un script Python de larga ejecución desde un cuaderno Jupyter para poder piratear las estructuras de datos generadas a mitad de ejecución.

El script tiene muchas dependencias y argumentos de línea de comando y se ejecuta con un virtualenv específico. ¿Es posible ejecutar interactivamente un script de Python dentro de un cuaderno desde un virtualenv especificado (diferente al de la instalación de Jupyter)?

¡Gracias!


Es realmente simple, basado en la documentation

Puede usar un virtualenv para su computadora portátil IPython. Siga los siguientes pasos, en realidad no es necesario el primer paso, solo asegúrese de activar su virtualenv a través de source ~/path-to-your-virtualenv/

  1. Instale el módulo del kernel ipython en su virtualenv

    workon my-virtualenv-name # active su virtualenv, si aún no ha instalado pip, instale ipykernel

  2. ( El paso más importante ) Ahora ejecute el script de "autoinstalación" del núcleo:

    python -m ipykernel install --user --name = my-virtualenv-name Reemplazando el parámetro --name según corresponda.

  3. Ahora debería poder ver su kernel en el menú del cuaderno de IPython: Kernel -> Change kernel y poder cambiar a él (es posible que deba actualizar la página antes de que aparezca en la lista). IPython recordará qué núcleo usar para ese portátil a partir de ese momento.


Este enlace me pareció muy útil:

https://ocefpaf.github.io/python4oceanographers/blog/2014/09/01/ipython_kernel/

Asegúrese de instalar pip jupyter en su virtualenv. En caso de que el enlace desaparezca más tarde, aquí está la esencia:

Necesita crear un nuevo núcleo. Usted especifica su núcleo con un archivo JSON. Sus núcleos generalmente se encuentran en ~/.ipython/kernels . Cree un directorio con el nombre de su virtualenv y cree su archivo kernel.json en él. Por ejemplo, una de mis rutas se ve como ~./ipython/kernels/datamanip/kernel.json

Así es como se ve mi archivo kernel.json:

{ "display_name": "Data Manipulation (Python2)", "language": "python", "codemirror_mode": { "version": 3, "name":"ipython" }, "argv": [ "/Users/ed/.virtualenvs/datamanip/bin/python", "-c", "from IPython.kernel.zmq.kernelapp import main; main()", "-f", "{connection_file}" ] }

No estoy seguro exactamente de lo que está haciendo el objeto codemirror_mode, pero no parece hacer ningún daño.


La solución de @ singer no funcionó para mí. Esto es lo que funcionó:

. /path/to/virtualenv/.venv/bin/activate python -m ipykernel install --user --name .venv --display-name .venv

Referencia: Kernels para diferentes entornos (documentos oficiales)


Una solución un poco más simple para obtener núcleos de notebook disponibles en otras notebooks.

Estoy usando Linux + virtualenv + virtualenvwrapper. Si está utilizando una configuración diferente, cambie algunos comandos por los apropiados, pero debe tener la idea.

mkvirtualenv jupyter2 workon jupyter2 (jupyter2) pip install jupyter (jupyter2) ipython kernel install --name "jupyter2_Python_2" --user

El último comando crea el directorio ~/.local/share/jupyter/kernels/jupyter2/ python/ 2/

lo mismo para 3

mkvirtualenv -p /usr/bin/python3 jupyter3 // this uses python3 as default python in virtualenv workon jupyter3 (jupyter3) pip install jupyter (jupyter3) ipython kernel install --name "jupyter3_Python_3" --user

Cuando termine, debería ver ambos núcleos, sin importar qué env esté utilizando para iniciar jupyter. Puede eliminar enlaces a los núcleos directamente en ~/.local/share/jupyter/kernels/ . Para especificar la ubicación, proporcione opciones para ipython kernel install (--help) o simplemente copie los directorios de ~/.local/share/jupyter/kernels/ a ~/envs/jupyter3/share/jupyter si desea ejecutar múltiples kerenels desde un cuaderno solamente.


nb_canda es útil:

conda install nb_conda

por lo tanto, puede crear y seleccionar su propio núcleo de Python con el entorno virtual de conda, y administrar los paquetes en venv

Capturas de pantalla

Elemento de la lista

Conda Environment Manager La pestaña Conda en jupyter notebook le permite administrar sus entornos directamente desde su notebook.

Cambiar kernel También puede seleccionar en qué kernel ejecutar un cuaderno utilizando la opción Cambiar kernel en el menú Kernel


conda es lo que funcionó para mí ( conda no conda ): (MacOS, versión de Python. Si está trabajando con Python del sistema, puede (necesitará) anteponer cada comando con sudo )

primero active virtualenv

si comienza de nuevo, por ejemplo, podría usar virtualenvwrapper

$pip install virtualenvwrapper $mkvirtualenv -p python2 py2env $workon py2env # This will activate virtualenv (py2env)$ # Then install jupyter within the active virtualenv (py2env)$ pip install jupyter # jupyter comes with ipykernel, but somehow you manage to get an error due to ipykernel, then for reference ipykernel package can be installed using: (py2env)$ pip install ipykernel

Luego, configure el núcleo

(py2env)$ python -m ipykernel install --user --name py2env --display-name "Python2 (py2env)"

luego inicie jupyter notebook (el venv no necesita ser activado para este paso)

(py2env)$ jupyter notebook # or #$ jupyter notebook

en el menú desplegable del cuaderno jupyter: Kernel >> Change Kernel >> <list of kernels> debería ver el Python2 (py2env)

Esto también facilita la identificación de la versión python del kernel y el mantenimiento de ambos lados.

aquí está el enlace a documentos detallados http://ipython.readthedocs.io/en/stable/install/kernel_install.html