我有木星/anaconda/python3.5。
我如何知道我的jupyter笔记本在哪个conda环境上运行? 如何从新的conda环境中启动jupyter ?
我有木星/anaconda/python3.5。
我如何知道我的jupyter笔记本在哪个conda环境上运行? 如何从新的conda环境中启动jupyter ?
当前回答
在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和一个文本编辑器,因此它被更改为:
$Anaconda/envs/myenv/bin/python
希望我对myenv的使用被理解为您应该将其替换为您的环境的名称。
编辑这个文件后,我的Jupyter笔记本电脑开始正常工作——也就是说,它们使用了为我激活的环境指定的python,并且我能够导入安装在这个环境中的包,但不能导入基本的Anaconda环境。
显然,ipykernel、nb_conda和nb_conda_kernels这组包为jupyter配置Anaconda环境的方式有些混乱。
其他回答
因为上面的答案都不适合我,所以我在这里写下了最终在Ubuntu上解决我的问题的解决方案。我的问题是: 我做了以下步骤:
激活我的环境:conda激活MyEnv 启动jupyter笔记本:jupyter笔记本
虽然MyEnv活跃在终端中,并且在编写conda env列表时有一个asterix,但jupyter notebook是从基础环境开始的。 安装nb_conda和ipykernel也没有解决我的问题。此外,conda标签没有出现在jupyter笔记本,也点击内核或进入菜单Kernel->改变内核没有显示内核MyEnv。 解决方案是:在MyEnv环境中安装jupyter_environment_kernel:
pip install environment_kernels
之后,当启动jupyter笔记本,它开始与正确的环境。您还可以在不停止内核的情况下切换环境,方法是转到“kernel ->Change kernel”菜单并选择所需的内核。
为我解决这个问题的是,我必须运行以下命令:
-m ipykernel install——user——name myenv——display-name " python (myenv)"
问题是我打开了一个jupyter笔记本,它是用另一个conda python环境的内核制作的。从终端的输出可以看到;从conda环境的终端上运行jupyter notebook非常方便,这样您就可以很容易地看到显示了哪些错误消息。然后,很明显,笔记本试图从另一个环境运行python。
检查文件夹/文件:
C:\Users\ <用户名> \ AppData \漫游\ jupyter \内核\ < env名称> \ 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
它为我解决了这个问题,我希望它也能帮助到你。
正如在评论中提到的,需要对jupyter笔记本的conda支持来切换内核。现在似乎可以通过conda本身获得这种支持(而不是依赖于pip)。 http://docs.continuum.io/anaconda/user-guide/tasks/use-jupyter-notebook-extensions/
第二秒
除了Notebook Conda内核之外,它还带来了其他三个方便的扩展。
你也可以在Anaconda Navigator中切换环境,安装Jupiter并运行它。
要显示笔记本使用的conda env,只需在单元格中输入:
!conda info
如果你有grep,更直接的方法是:
!conda info | grep 'active env'