Как узнать, что работает в блокноте Jupyter?


98

Я использую записную книжку Jupyter в браузере для программирования на Python, я установил Anaconda (Python 3.5). Но я совершенно уверен, что Jupyter запускает мои команды python с собственным интерпретатором python, а не с anaconda. Как я могу его изменить и использовать Anaconda в качестве интерпретатора?

Ubuntu 16.10 - Anaconda3


2
Вы можете найти настройки ядра для конфигурации Jupyter и изменить исполняемый файл python
OneCricketeer,

Ответы:


170
from platform import python_version

print(python_version())

Это даст вам точную версию python, на котором запущен ваш скрипт. например, вывод:

3.6.5

1
это следует выбрать как ответ на заданный вопрос.
Dark Templar

4
OP просит определить, какой исполняемый файл запущен (system / anaconda), а не какая версия. Ответ П. Камиллери - это решение
MrMartin

65
import sys
sys.executable

предоставит вам переводчика. Вы можете выбрать переводчика, который хотите, при создании новой записной книжки. Убедитесь, что путь к вашему интерпретатору anaconda добавлен в ваш путь (скорее всего, где-то в вашем bashrc / bash_profile).

Например, в моем .bash_profile была следующая строка, которую я добавил вручную:

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

РЕДАКТИРОВАТЬ : Как упоминалось в комментарии, это неправильный способ добавить анаконду в путь. Цитируя документ Anaconda, это следует сделать после установки, используя conda init:

Должен ли я добавить Anaconda в PATH macOS или Linux?

Мы не рекомендуем добавлять Anaconda в PATH вручную. Во время установки вас спросят: «Вы хотите, чтобы программа установки инициализировала Anaconda3, запустив conda init?» Мы рекомендуем «да». Если вы введете «нет», conda вообще не будет изменять ваши сценарии оболочки. Для инициализации после завершения процесса установки сначала запустите, source <path to conda>/bin/activateа затем запуститеconda init


Я запускаю это в Spyder, и никаких результатов, но Jupyter в порядке. Интересно, почему?
TokyoToo

1
Документы Conda не рекомендуют добавлять в PATH подобным образом.
AMC

@AMC, ты прав, спасибо. Я отредактировал, чтобы указать на conda init
П. Камиллери

38
 import sys
 print(sys.executable)
 print(sys.version)
 print(sys.version_info)

Видно ниже: - вывод, когда я запускаю JupyterNotebook вне 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)

Видно ниже, когда я запускаю тот же 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, вы переключаетесь на желаемое ядро, выбирая ЯДРО >> ИЗМЕНИТЬ ЯДРО из меню JupyterNotebook ... JupyterNotebookScreencapture

Также для установки ipykernel в существующей виртуальной среде CONDA -

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

Источник --- 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]

Установите спецификацию ядра IPython.

необязательные аргументы: -h, --help показать это справочное сообщение и выйти --user Install для текущего пользователя вместо общесистемного --name NAME Укажите имя для характеристики ядра. Это необходимо для одновременного использования нескольких ядер IPython. --display-name DISPLAY_NAME Укажите отображаемое имя для спецификации ядра. Это полезно, если у вас несколько ядер IPython. --profile ПРОФИЛЬ Укажите профиль IPython для загрузки. Это можно использовать для создания собственных версий ядра. --prefix PREFIX Указывает префикс установки для спецификации ядра. Это необходимо для установки в папку, отличную от расположения по умолчанию, например, в conda / virtual-env. --sys-prefix Установить на Python sys.prefix. Сокращение для --prefix = '/ Users / bussonniermatthias / anaconda'. Для использования в conda / virtual-envs.


0

Предполагая, что у вас неправильная бэкэнд-система, вы можете изменить бэкэнд 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.

Таким образом, вы можете просто переключаться между ядрами и иметь разные ноутбуки, использующие разные ядра.


Чтобы добавить больше спецификаций ядра, см. Также документацию по установке ядра IPython
Томас К.

-1

Создание виртуальной среды для Jupyter Notebooks

Минимальная установка Python

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

Затем вы можете создавать и использовать среду

/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

Вы можете создать ядро ​​для Jupyter с помощью

ipython3 kernel install --user --name=test
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.