懒人请直接使用下面代码先更新conda,即可。
conda update --force conda
有兴趣看下面求索过程
为了图方便,想使用conda install nb_conda来让jupyter notebook或jupyter lab自动生成对应所有虚拟环境的Kernal。
conda install nb_conda
不料,懒人没做成,安装失败,最末尾显示:
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: failed
RemoveError: 'requests' is a dependency of conda and cannot be removed from
conda's operating environment.
RemoveError: 'setuptools' is a dependency of conda and cannot be removed from
conda's operating environment.
意思是无法删除一些库,这个时候其实用下面这个方法可以绕开这个问题:在每个虚拟环境中依次执行:
conda install ipykernel
python -m ipykernel install --name my(在文件夹里的名称) --display-name my(想在jupyter显示名称)
这样就添加了核,在C:\ProgramData\jupyter\kernels(具体看添加核时的说明)路径下其实可以看到你添加的所有核的细节。
但是我没懒成还是不服!继续解决RemoveError的问题,直到找到了Github讨论,里面讨论得非常激烈,主要问题就是需要进行conda的更新:
conda update conda
但是在base里还是会出错,仍显示RemoveError,再看到说要退出所有虚拟环境再更新,使用下面命令:
conda deactivate
conda update conda
还是不成,问题依旧。最后!看到这个救星:
使用:(注意!一定要回到base环境执行,不然....就看这篇博客解决吧:anaconda装环境遇到无法定位程序输入点OPENSSL_sk_new_reserve……问题)
conda update --force conda
成功更新conda!至此,再进入base环境做你想做的事吧!
对于conda install nb_conda我还有想说的,因为执行后还是有问题,还是没有懒对!
执行后jupyter lab并没有自动识别出所有虚拟环境,jupyter notebook也有问题,真是让人揪心!最后显示了些这个:
这和另一篇博客对应上了,他给出了解决方案:jupyter-lab识别anaconda虚拟环境
# 先
conda install nb_conda ipykernel
# 激活某个环境后运行下面命令
python -m ipykernel install --name my(在文件夹里的名称) --display-name my(想在jupyter显示名称)
是不是很眼熟。。。最后就是省了在每个环境install ipykernal的步骤(但是我还是需要一个一个安装kernal好像,可能他是在全局conda install的)。啊,还是老老实实一个一个弄吧。
在每个虚拟环境中依次执行:
conda install ipykernel
python -m ipykernel install --name my(在文件夹里的名称) --display-name my(想在jupyter显示名称)
检验是否添加成功,可通过下面命令查看:
jupyter kernelspec list