¿Cómo saber cuál se está ejecutando en el portátil Jupyter?

98

Utilizo el cuaderno Jupyter en un navegador para la programación de Python, he instalado Anaconda (Python 3.5). Pero estoy bastante seguro de que Jupyter al ejecutar mis comandos de Python con el intérprete de Python nativo y no con Anaconda. ¿Cómo puedo cambiarlo y usar Anaconda como intérprete?

Ubuntu 16.10 - Anaconda3

Víctor
fuente
2
Puede encontrar la configuración del kernel para la configuración de Jupyter y modificar el ejecutable de Python
OneCricketeer

Respuestas:

170
from platform import python_version

print(python_version())

Esto le dará la versión exacta de Python ejecutando su script. por ejemplo, salida:

3.6.5
Davies Odu
fuente
1
esto debe seleccionarse como la respuesta a la pregunta publicada.
Dark Templar
4
El OP pide encontrar qué ejecutable se está ejecutando (sistema / anaconda), no qué versión. La respuesta de P. Camilleri es la solución
MrMartin
65
import sys
sys.executable

le dará el intérprete. Puede seleccionar el intérprete que desee cuando cree un nuevo cuaderno. Asegúrese de que la ruta a su intérprete anaconda se agregue a su ruta (en algún lugar de su bashrc / bash_profile lo más probable).

Por ejemplo, solía tener la siguiente línea en mi .bash_profile, que agregué manualmente:

export PATH="$HOME/anaconda3/bin:$PATH"

EDITAR : Como se mencionó en un comentario, esta no es la forma correcta de agregar anaconda a la ruta. Citando el documento de Anaconda, esto debería hacerse después de la instalación, usando conda init:

¿Debo agregar Anaconda a macOS o Linux PATH?

No recomendamos agregar Anaconda a la RUTA manualmente. Durante la instalación, se le preguntará "¿Desea que el instalador inicialice Anaconda3 ejecutando conda init?" Recomendamos "sí". Si ingresa "no", entonces conda no modificará sus scripts de shell en absoluto. Para inicializar una vez finalizado el proceso de instalación, primero ejecute source <path to conda>/bin/activatey luego ejecuteconda init

P. Camilleri
fuente
Estoy ejecutando esto en Spyder y no hay resultados, pero Jupyter está bien. ¿Me pregunto porque?
TokyoToo
1
Los documentos de Conda recomiendan no agregar al PATH de esa manera.
AMC
@AMC tienes razón, gracias. He editado para apuntar hacia conda init
P. Camilleri
38
 import sys
 print(sys.executable)
 print(sys.version)
 print(sys.version_info)

Visto a continuación: - salida cuando ejecuto JupyterNotebook fuera de un CONDA venv

/home/dhankar/anaconda2/bin/python
2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:42:40) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)

Visto a continuación cuando ejecuto el mismo JupyterNoteBook dentro de un CONDA Venv creado con el comando:

conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV

en mi cuaderno Jupyter imprime: -

/home/dhankar/anaconda2/envs/py35/bin/python
3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)

Además, si ya tiene varios VENV creados con diferentes versiones de Python, cambie al Kernel deseado eligiendo KERNEL >> CHANGE KERNEL desde el menú de JupyterNotebook ... JupyterNotebookScreencapture

También para instalar ipykernel dentro de un entorno virtual CONDA existente -

http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments

Fuente --- https://github.com/jupyter/notebook/issues/1524

 $ /path/to/python -m  ipykernel install --help
 usage: ipython-kernel-install [-h] [--user] [--name NAME]
                          [--display-name DISPLAY_NAME]
                          [--profile PROFILE] [--prefix PREFIX]
                          [--sys-prefix]

Instale la especificación del kernel de IPython.

argumentos opcionales: -h, --help muestra este mensaje de ayuda y sale --user Instalar para el usuario actual en lugar de todo el sistema --name NAME Especifica un nombre para la especificación del kernel. Esto es necesario para tener varios núcleos IPython al mismo tiempo. --display-name DISPLAY_NAME Especifica el nombre de visualización para kernelspec. Esto es útil cuando tiene varios núcleos IPython. --profile PROFILE Especifica un perfil de IPython para cargar. Esto se puede utilizar para crear versiones personalizadas del kernel. --prefix PREFIX Especifica un prefijo de instalación para kernelspec. Esto es necesario para instalarlo en una ubicación no predeterminada, como conda / virtual-env. --sys-prefix Instalar en el prefijo sys.prefix de Python. Abreviatura de --prefix = '/ Users / bussonniermatthias / anaconda'. Para usar en conda / virtual-envs.

Rohit Dhankar
fuente
0

Suponiendo que tiene el sistema de backend incorrecto, puede cambiar el backend kernelcreando uno nuevo o editando el existente kernel.jsonen la kernelscarpeta de su ruta de datos de jupyter jupyter --paths. Puede tener varios núcleos (R, Python2, Python3 (+ virtualenvs), Haskell), por ejemplo, puede crear un Anacondanúcleo específico:

$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"

Debería crear un nuevo kernel:

<jupyter-data-dir>/kernels/anaconda/kernel.json

{
    "argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
    "display_name": "Anaconda",
    "language": "python"
}

Necesitas asegurarte ipykernel paquete esté instalado en la distribución de anaconda.

De esta forma, puede cambiar entre kernels y tener diferentes cuadernos usando diferentes kernels.

Un campeón
fuente
Para agregar más especificaciones del kernel, consulte también los documentos de instalación del kernel de IPython
Thomas K
-1

Creación de un entorno virtual para Jupyter Notebooks

Una instalación mínima de Python es

sudo apt install python3.7 python3.7-venv python3.7-minimal python3.7-distutils python3.7-dev python3.7-gdbm python3-gdbm-dbg python3-pip

Entonces puedes crear y usar el entorno.

/usr/bin/python3.7 -m venv test
cd test
source test/bin/activate
pip install jupyter matplotlib seaborn numpy pandas scipy
# install other packages you need with pip/apt
jupyter notebook
deactivate

Puedes hacer un kernel para Jupyter con

ipython3 kernel install --user --name=test
Daisuke Aramaki
fuente