Как узнать, что работает в ноутбуке Jupyter?
Я использую Jupyter notebook в браузере для программирования на Python, я установил Anaconda (Python 3.5). Но я совершенно уверен, что Jupyter управляет моими командами python с помощью собственного интерпретатора python, а не с anaconda. Как я могу изменить его и использовать Anaconda в качестве интерпретатора?
Спасибо!
Ubuntu 16.10 - Anaconda3
Ответы
Ответ 1
import sys
sys.executable
предоставит вам переводчика. Вы можете выбрать нужный интерпретатор при создании нового ноутбука. Убедитесь, что путь к вашему интерпретатору anaconda добавлен к вашему пути (скорее всего, в вашем файле bashrc/bash_profile).
Например, у меня есть следующая строка в моем .bash_profile:
export PATH="$HOME/anaconda3/bin:$PATH"
Ответ 2
from platform import python_version
print(python_version())
Это даст вам точную версию Python, на котором выполняется ваш скрипт. например, вывод:
3.6.5
Ответ 3
import sys
print(sys.executable)
print(sys.version)
print(sys.version_info)
Видно ниже: - вывод, когда я запускаю JupyterNotebook вне помещения CONDA
/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)
Видно ниже, когда я запускаю тот же JupyterNoteBook в CONDA Venv, созданном с помощью команды -
conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV
в моем ноутбуке Jupyter он печатает:
/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)
также, если у вас уже есть различные VENV, созданные с разными версиями Python, вы переключаетесь на нужное ядро, выбирая KERNEL >> CHANGE KERNEL в меню JupyterNotebook... JupyterNotebookScreencapture
Также для установки ipykernel в существующей виртуальной среде CONDA -
http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments
$ /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]
Установите спецификацию ядра IPython.
необязательные аргументы: -h, - -h elp показать это справочное сообщение и выйти --user Установить для текущего пользователя вместо общесистемного --name ИМЯ Укажите имя для спецификации ядра. Это необходимо, чтобы иметь несколько ядер IPython одновременно. --display-name DISPLAY_NAME Укажите отображаемое имя для спецификации ядра. Это полезно, когда у вас несколько ядер IPython. --profile PROFILE Укажите профиль IPython для загрузки. Это может быть использовано для создания пользовательских версий ядра. --prefix PREFIX Укажите префикс установки для спецификации ядра. Это необходимо для установки в нестандартное расположение, такое как conda/virtual-env. --sys-prefix Установить в Python sys.prefix. Сокращение для --prefix = '/Users/bussonniermatthias/anaconda'. Для использования в conda/virtual-envs.
Ответ 4
Предполагая, что у вас неправильная бэкэнд-система, вы можете изменить бэкэнд kernel
, создав новую или отредактировав существующую kernel.json
в папке kernels
вашего пути данных jupyter jupyter --paths
. Вы можете иметь несколько ядер (R, Python2, Python3 (+ virtualenvs), Haskell), например. вы можете создать конкретное ядро Anaconda
:
$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"
Создать новое ядро:
<jupyter-data-dir>/kernels/anaconda/kernel.json
{
"argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
"display_name": "Anaconda",
"language": "python"
}
Вам нужно убедиться, что пакет ipykernel
установлен в дистрибутиве anaconda.
Таким образом, вы можете просто переключаться между ядрами и иметь разные ноутбуки, использующие разные ядра.