Jupyter在哪个conda环境中执行?

时间:2016-05-07 07:14:51

标签: ipython anaconda jupyter jupyter-notebook

我有jupyter / anaconda / python3.5。

  1. 我怎么知道哪个conda环境是我的jupyter笔记本运行?

  2. 如何从新的conda环境启动jupyter?

14 个答案:

答案 0 :(得分:231)

正如评论中所提到的,切换内核需要conda支持jupyter笔记本。似乎这种支持现在可以通过conda本身获得(而不是依赖于pip)。 http://docs.continuum.io/anaconda/user-guide/tasks/use-jupyter-notebook-extensions/

conda install nb_conda

除了Notebook Conda内核之外还带来了另外三个方便的扩展。

答案 1 :(得分:88)

问题1:找到当前笔记本的conda环境

在Jupyter笔记本中打开笔记本,然后查看屏幕的右上角。

例如,如果语言是Python并且使用名为env_name的环境,则应该说“Python [env_name]”。

jupyter notebook with name of environment

问题2:从不同的conda环境中启动Jupyter Notebook

在运行source activate <environment name>之前,使用jupyter notebook在终端中激活conda环境。这是Jupyter笔记本的sets the default environment。否则,[Root]环境是默认设置。

jupyter notebooks home screen, conda tab, create new environment

您还可以在Jupyter Notebook中创建新环境(主屏幕,Conda选项卡,然后单击加号)。

您可以在任何您想要的环境中创建笔记本。选择主屏幕上的“文件”选项卡,然后单击“新建”下拉菜单,在该菜单中从列表中选择一个Python环境。

jupyter notebooks home screen, files tab, create new notebook

答案 2 :(得分:41)

whitch环境是jupyter执行:

import sys
print(sys.executable)

为jupyter notebook创建内核

source activate myenv
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
source activate other-env
python -m ipykernel install --user --name other-env --display-name "Python (other-env)"

http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernel-install

答案 3 :(得分:29)

如果以上的ans不起作用,那么尝试在新环境中运行s///e,然后从任何环境运行jupyter notebook,您将能够在这些内核之间查看或切换。

答案 4 :(得分:10)

仅显示一个单元格即可显示笔记本正在使用哪个conda env:

!conda info

答案 5 :(得分:9)

您还可以在Anaconda Navigator中切换环境,安装Jupiter并运行它。 Anaconda Navigator

答案 6 :(得分:8)

  

问题1 :我怎么知道我的jupyter笔记本运行在哪个conda环境?

  • 启动 Anaconda提示并运行命令 conda env list 以列出所有可用的 conda 环境。

    Anaconda Prompt Screenshot

      

    您可以清楚地看到我的PC上安装了两个不同的 conda 环境,我的当前有效环境 root (< em> Python 2.7 ),由路径前面的星号(*)符号表示。

  

问题2 :如何从新的conda环境启动jupyter?

  • 现在,要启动所需的conda环境,只需运行 activate <environment name> 即可。在这种情况下, activate py36

    enter image description here

有关详细信息,请查看此linkthis previous Stack Overflow question.

答案 7 :(得分:3)

以下命令会直接在jupyter notebook中添加env。

conda create --name test_env
conda activate test_env
conda install -c anaconda ipykernel
python -m ipykernel install --user --name=test_env

现在应该说“Python [test_env]”,如果语言是 Python 并且它使用名为 test_env 的环境。

答案 8 :(得分:1)

要检查您的笔记本计算机正在哪个环境上运行,请在笔记本计算机外壳中键入以下命令

import sys
print(sys.executable)

要在新环境中启动笔记本计算机,请先停用该环境。创建一个conda环境,然后安装ipykernel。激活该环境。在该环境上安装jupyter。

conda create --name {envname}
conda install ipykernel --name {envname}
python -m ipykernel install --prefix=C:/anaconda/envs/{envname} --name {envname}
activate envname
pip install jupyter

如果您的路径“ C:/ anaconda / envs / {envname}”可能不同,请进行相应检查。 完成所有步骤后,启动笔记本电脑并执行步骤1 在shell中运行以下命令。

sys.executable

这应该显示:Anaconda / envs / envname

答案 9 :(得分:1)

在 Ubuntu 20.04 上,上述建议均无效。

即我激活了一个现有的环境。我发现(使用 sys.executable 和 sys.path)我的 jupyter notebook 内核正在运行默认的 Anaconda python,而不是我在激活环境中安装的 python。这样做的后果是我的笔记本无法导入我安装到这个特定 Anaconda 环境中的包。

按照上述说明(以及大量其他 URL),我安装了 ipykernel、nb_conda 和 nb_conda_kernels,然后运行:python -m ipykernel --user --name myenv。

使用我的 Jupyter 笔记本中的 Kernels|Change Kernel... 菜单,我选择了 myenv,这是我在 python -m ipykernel 命令中指定的那个。

然而,sys.executable 表明这并没有“坚持”。

我尝试关闭并重新启动,但没有得到我选择的环境。

最后,我简单地编辑了文件夹中的文件 kernel.json:

~/.local/share/jupyter/kernels/myenv

果然,尽管我已经执行了上面建议的所有步骤,这个 JSON 文件中的第一个参数仍然显示默认的 python 位置:

$Anaconda/bin/python(其中 $Anaconda 是我安装 anaconda 的位置)

我使用文本编辑器编辑了 kernel.json 文件,将其更改为:

$Anaconda/envs/myenv/bin/python

希望我对 myenv 的使用被理解为意味着您应该将其替换为您的环境名称。

编辑此文件后,我的 Jupyter 笔记本开始正常工作 - 即,它们使用为我激活的环境指定的 python,并且我能够导入安装在此环境中的包,但不能导入基本的 Anaconda 环境。

>

显然,ipykernel、nb_conda 和 nb_conda_kernels 包如何为 jupyter 配置 Anaconda 环境的方式有些混乱。

答案 10 :(得分:0)

由于上述所有答案均不适合我,因此我在此处编写了最终在Ubuntu上解决了我的问题的解决方案。我的问题是:
我执行了以下步骤:

  1. 激活我的环境:conda activate MyEnv
  2. 启动jupyter笔记本:jupyter notebook

但是,尽管MyEnv在终端中处于活动状态,并且在编写conda env list时带有星号,但是jupyter笔记本是从基本环境启动的。 安装nb_condaipykernel均不能解决问题。此外,jupyter笔记本中没有出现conda标签,并且单击内核或进入菜单Kernel->Change Kernel都没有显示内核MyEnv
解决方法是:在MyEnv环境中安装jupyter_environment_kernel

pip install environment_kernels

然后,在启动jupyter Notebook时,会在正确的环境下启动。您还可以通过转到菜单Kernel->Change Kernel并选择所需的内核来在各种环境之间切换而无需停止内核。

答案 11 :(得分:0)

我尝试了上述所有方法,但没有成功,除了在新环境中安装jupyter。

激活新环境 conda activate new_env 用您的环境名称替换“ new_env”。

下一步安装jupyter 'pip install jupyter'

您还可以通过以下方式安装jupyter:访问anaconda导航器并选择合适的环境,然后从“首页”标签安装jupyter笔记本

答案 12 :(得分:0)

  1. 要检查Jupyter Notebook正在运行哪个Python,请尝试执行此代码。

从平台导入python_version 打印(python_version())

  1. 为了从您的环境中运行jupyter Notebook 激活MYenv 并使用命令安装jupyter notebook pip安装jupyter笔记本

然后 jupyter笔记本

答案 13 :(得分:-1)

除了上述答案外,您还可以使用

!which python

在单元格中键入此内容,这将显示环境的路径。我不确定原因,但是在我的安装中,笔记本中没有环境隔离,但是在激活环境和启动jupyter笔记本时,使用的路径是安装在环境中的python。