2016-09-10 2 views
1

Я начал с углубленного курса обучения udacity и создавал среду. Я думаю, что в ноутбуке ядра не используется python из среды conda. Ниже приведены некоторые из результатов, которые я пробовал.jupyter notebook не использует python в среде conda, из которой он был запущен

работы Конда среда

source activate tensorflow 

С питона терминала внутри Конда среды от Linux терминала:

import sys 
sys.executable 
>>> '/home/username/anaconda2/envs/tensorflow/bin/python' 

Также tensorflow импортируется с питона оболочки

С IPython терминала внутри Конда среды, он показывает тот же исполняемый путь. и tensorflow импортируется внутри оболочки ipython.

Однако с ноутбуком jupyter, когда я выполняю ячейку в записной книжке, модуль tensorflow не может быть найден. Кроме того, терминал породил из блокнота показывает путь к исполняемому файлу глобальной установки питона, который находится в Анаконда/бен directoty, а не окружающей среды я создал, с которой я начал ноутбук

'/home/username/anaconda2/bin/python' 

Однако Конда среда оболочки еще tensorflow

conda info --envs 
# conda environments:                            
#                                 
tensorflow   * /home/username/anaconda2/envs/tensorflow                  
root      /home/username/anaconda2 

Означает ли это, что ядро ​​связано с установкой python в этом месте, а не в conda env? Как связать то же самое?

+1

Чтобы использовать тензорный поток среда в jupyter, вам также необходимо зарегистрировать ядро ​​ipython в вашей среде tensorflow. Вы можете взять мой ответ здесь в качестве руководства: http: // stackoverflow.com/questions/30492623/using-both-python-2-x-and-python-3-x-in-ipython-notebook/30492913 # 30492913 – cel

+0

@cel Отлично! это сработало. Благодарю. – pratsJ

ответ

2

Есть еще несколько нюансов на этот вопрос, которые хорошо прояснить. Каждый ноутбук привязан к определенному ядру. В последней версии Anaconda 4.0 мы (Continuum) объединили расширение, поддерживающее Conda-среду, которое попытается связать ноутбук с конкретной средой Conda. Если это невозможно найти, будет использоваться среда «по умолчанию» (или «корневая» среда). В вашем случае у вас есть ноутбук, который, я думаю, запрашивает для среды по умолчанию (или «root»), поэтому Jupyter запускает ядро ​​в этой среде и не в среде, из которой сервер Jupyter был начат. Вы можете изменить связанное с ядром, перейдя в ядре меню kernel-> Изменить и выбрать ваше tensorflow ядро ​​ окружающей среды, вдоль линий этого:

enter image description here

Или при создании нового ноутбука вы можно выбрать в то время, какое ядро ​​Конды окружающей среды должно обратно ноутбук (обратите внимание, что одна среды Конды может иметь несколько ядер, например, Python и R):

enter image description here

Мы ценим, что это может быть обычной причиной путаницы, особенно при обмене записными книжками, поскольку человек, который поделился ею, либо использовал ядро ​​«по умолчанию» (возможно, называемое просто «Python»), либо они использовали среду Conda с другим имя. Мы работаем над тем, чтобы сделать это более гладким и менее запутанным, но если у вас есть предложения по ожидаемому/желаемому поведению, сообщите нам (вопрос GitHub на https://github.com/ContinuumIO/anaconda-issues/issues/new - лучший способ сделать это)

+0

Я совсем недавно начал использовать среду conda для разработки, поэтому я не очень хорошо знаю отношения между ноутбуком, питоном и ядром и как он работает с средой. Было бы полезно, если бы было краткое введение в основы и как все это связано. – pratsJ