首页 文章

jupyter笔记本在启动它的conda环境中不使用python

提问于
浏览
1

我开始学习udacity深度学习课程并设置环境 . 我认为内核笔记本使用的不是来自conda环境的python . 以下是我尝试过的一些结果 .

开始了conda环境

source activate tensorflow

从linux终端到conda环境里面的python终端:

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

还使用python shell导入tensorflow

在conda环境中使用ipython终端,它显示相同的可执行路径 . 和tensorflow在ipython shell中导入 .

但是当我在笔记本中执行一个单元格时,使用jupyter笔记本,找不到tensorflow模块 . 从笔记本产生的终端也显示了在anaconda / bin directoty中的全局python安装的可执行路径,而不是我创建的环境,我开始从笔记本开始

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

但是shell的conda环境仍然是张量流

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

这是否意味着内核链接到此位置的python安装而不是conda env?如何链接相同?

1 回答

  • 1

    这个问题有一些细微差别,有待澄清 . 每个笔记本都绑定到一个特定的内核 . 随着最新的4.0版Anaconda,我们(Continuum)捆绑了一个Conda环境感知的扩展,它将尝试将Notebook与特定的Conda环境相关联 . 如果找不到,则将使用"default"环境(或"root"环境) . 在你的情况下,你有一个笔记本,我猜, asking 用于默认(或"root")环境,因此Jupyter在该环境中启动内核,并在启动Jupyter服务器的环境中启动 not . 您可以通过转到Kernel-> Change内核菜单并选择tensorflow环境的内核来更改关联的内核,具体如下:

    enter image description here

    或者当你创建一个新的Notebook时,你可以选择当时哪个Conda环境的内核应该支持Notebook(注意一个Conda环境可以有多个内核可用,例如Python和R):

    enter image description here

    我们知道这可能是混淆的常见原因,尤其是在共享笔记本时,因为共享它的人要么使用"default"内核(可能只是"Python"),要么他们使用的是具有不同名称的Conda环境 . 我们正在努力使这更顺畅,更少混淆,但如果您对预期/期望的行为有建议,请告诉我们(GitHub问题https://github.com/ContinuumIO/anaconda-issues/issues/new是最好的方法)

相关问题