Jupyter在哪个conda环境中执行?

我有木星/anaconda/python3.5。

  1. 我如何知道我的jupyter笔记本在哪个conda环境上运行?

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

430391 次浏览

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

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

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

jupyter notebook with name of environment


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

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

jupyter笔记本主屏幕,conda选项卡,创建新环境

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

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

jupyter笔记本主屏幕,文件选项卡,创建新笔记本 .

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

conda install nb_conda

除了Notebook Conda内核之外,它还带来了其他三个方便的扩展。

jupyter正在执行哪个环境:

import sys
print(sys.executable)

为jupyter笔记本创建内核

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

如果上面的ans不起作用,那么尝试在new env中运行conda install ipykernel,然后从任何env中运行jupyter notebook,你将能够看到或在这些内核之间切换。

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

.

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

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

    Anaconda Prompt截图

    你可以清楚地看到我在我的PC上安装了两个不同的conda环境,我的当前活动环境是(Python 2.7),由路径前面的星号(*)符号表示。

    李< /引用> < / >

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

  • 现在,要启动所需的conda环境,只需运行activate <environment name>。在本例中,activate py36

    enter image description here < / p >

有关更多信息,请查看此链接之前的堆栈溢出问题。

因为上面的答案都不适合我,所以我在这里写下了最终在Ubuntu上解决我的问题的解决方案。我的问题是:
我做了以下步骤:

  1. 激活环境:conda activate MyEnv
  2. 启动jupyter笔记本:jupyter notebook
虽然MyEnv在终端中是活动的,并且在写入conda env list时有一个asterix,但jupyter notebook是由基本环境启动的。 安装nb_condaipykernel也没有解决我的问题。此外,在jupyter notebook中没有出现conda选项卡,并且单击内核或进入菜单Kernel->Change Kernel也没有显示内核MyEnv.
解决方案是:在MyEnv环境中安装jupyter_environment_kernel:

pip install environment_kernels

之后,当启动jupyter笔记本,它开始与正确的环境。你也可以在不停止内核的情况下切换环境,方法是转到菜单Kernel->Change Kernel并选择所需的内核。

我已经尝试了上面提到的所有方法,除了在新环境中安装jupyter之外,没有任何方法有效。

激活新环境 conda activate new_env 将'new_env'替换为您的环境名称

下一步安装jupyter 'pip install jupyter'

你也可以通过进入anaconda navigator并选择正确的环境来安装jupyter,并从Home选项卡安装jupyter笔记本

加上上面的答案,你也可以使用

!which python

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

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

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

要显示笔记本使用的conda env,只需在单元格中输入:

!conda info

如果你有grep,更直接的方法是:

!conda info | grep 'active env'
  1. 要检查你的Jupyter Notebook正在运行的Python,请尝试执行此代码。

from平台导入python_version print (python_version()) < /强> < / p >

  1. 在你的环境中运行jupyter notebook 激活MYenv 并使用命令安装jupyter笔记本 PIP安装jupyter notebook
< p >然后而已 jupyter笔记本< / >强

下面的命令将直接在jupyter笔记本中添加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的环境。

在Ubuntu 20.04上,上述建议都不起作用。

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

按照上面的说明(以及一系列其他url),我安装了ipykernel、nb_conda和nb_conda_kernels,并运行:python -m ipykernel——user——name myenv。

使用内核|更改内核…菜单,我选择了myenv,我在python -m ipykernel命令中指定的。

然而,系统。可执行文件显示,这并不“粘”。

我尝试关闭并重新启动,但没有任何结果,我得到了我所选择的环境。

最后,我简单地编辑了文件内核。Json在文件夹:

~ /。local /分享/ jupyter /内核/ myenv

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

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

我编辑了文件内核。Json和一个文本编辑器,因此它被更改为:

蟒蛇美元/ env / myenv / bin / python

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

编辑这个文件后,我的Jupyter笔记本电脑开始正常工作——也就是说,它们使用了为我激活的环境指定的python,并且我能够导入安装在这个环境中的包,但不能导入基本的Anaconda环境。

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

为我解决这个问题的是,我必须运行以下命令:

python -m ipykernel install——user——name myenv——display name " python (myenv)"

问题是我打开了一个jupyter笔记本,它是用另一个conda python环境的内核制作的。从终端的输出可以看到;从conda环境的终端上运行jupyter notebook非常方便,这样您就可以很容易地看到显示了哪些错误消息。然后,很明显,笔记本试图从另一个环境运行python。

检查文件夹/文件:

C:\Users\<username>\AppData\Roaming\jupyter\kernels\<env name>\kernel.json

 "argv": [
"D:\\Users\\<username..path>\\envs\\<env name>\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python (env name)",
"language": "python",
"metadata": {
"debugger": true
}
}

所以如果有必要,你可以检查和纠正。

其次,在使用anaconda/conda时,确保您有一个健康的通道策略,并在创建新环境时执行以下命令:

conda config --add channels conda-forge
conda config --set channel_priority strict

它为我解决了这个问题,我希望它也能帮助到你。

对于windows 10,

  1. 进入水蟒发射器
  2. 在“Applications on”下拉菜单中,选择所需的conda环境。
  3. 在Anaconda Launcher安装Jupyter笔记本
  4. 从Anaconda Launcher启动Jupyter笔记本

 Anaconda Navigator图像

Conda标签在Jupyter笔记本中可见,在那里您可以看到您的活动Conda env。