【发布时间】:2025-12-28 22:05:11
【问题描述】:
不知道如何解决这个问题,或者它是如何损坏的。这是 jupyterhub 安装上的 conda。
错误信息:
EnvironmentLocationNotFound:不是 conda 环境
图片如下:
来自Conda 标签的图片(出现了一个多余的anaconda3 env):
加载时出错的图片:
【问题讨论】:
标签: python anaconda jupyter-notebook jupyter conda
不知道如何解决这个问题,或者它是如何损坏的。这是 jupyterhub 安装上的 conda。
错误信息:
EnvironmentLocationNotFound:不是 conda 环境
图片如下:
来自Conda 标签的图片(出现了一个多余的anaconda3 env):
加载时出错的图片:
【问题讨论】:
标签: python anaconda jupyter-notebook jupyter conda
这是a confirmed bug in nb_conda for conda version >=4.4:
原因是
conda info --json输出的变化。全新安装的 4.3.33 版提供envs=[],版本 >=4.4 提供envs=[root_env_dir](始终非空)。
在当前发布的版本中还没有修复(nb_conda 2.2.1),但是我们可以手动修复这个错误,通过更改本地机器中的current bug code base:~/anaconda3/pkgs/nb_conda-2.2.1-py36h349edbb_0/lib/python3.6/site-packages/nb_conda/envmanager.py,注意您自己的 anaconda 根目录(@987654334 @) 和 pkgs 构建版本(py36h349edbb_0) 可能不同。
来自:
return {
"environments": [root_env] + [get_info(env)
for env in info['envs']]
}
到:
return {
"environments": [root_env] + [get_info(env) for env in info['envs']
if env != root_env['dir']]
}
然后,关闭任何一个 jupyter notebook 服务器并重新启动一个,anaconda3 env 将消失。
【讨论】:
这要么是nbconda 中的错误,要么是陈旧的内核规范文件。
修复它检查是否/home/user/.conda/envs/anaconda3 exists,如果它确实删除它。
在终端中发出jupyter kernelspec list,对我来说它会给出:
$ jupyter kernelspec list
Available kernels:
code_scattering /usr/local/share/jupyter/kernels/code_scattering
meetup /usr/local/share/jupyter/kernels/meetup
octave /usr/local/share/jupyter/kernels/octave
python2 /usr/local/share/jupyter/kernels/python2
python3 /usr/local/share/jupyter/kernels/python3
pythonroot /usr/local/share/jupyter/kernels/pythonroot
它应该列出所有内核规范及其位置。 找到对应的env,删除文件夹。
【讨论】: