背景以及初步解决方法,可参考这篇文章:《Linux系统Anaconda目录迁移后使用conda命令出现“坏的解释器”的解决方法 —— Gransand》
在此基础上,我补充一些新遇到的新问题以及解决方法。
问题1:无法使用 jupyter notebook
无法使用的 case 有 N 种,都是路径问题。这里先给出统一的解决方法。
完整解决方案
首先,在迁移后的 bin 目录下,查看有哪些命令跟 jupyter 有关。
ls /xxx/bin/ | grep jupyter
然后,统一修正这些命令的第一行的路径,以免夜长梦多。
最后,使用 jupyter-kernelspec list
指令找到 kernel 的配置路径,如 /xxxx/share/jupyter/kernels/xxxx
,在该路径下,修正 kernel.json
文件里的路径。
具体报错具体分析
case 1 无法使用 jupyter 命令
bash: /xxx/bin/jupyter: /xxx/bin/python: 坏的解释器: 没有那个文件或目录
解决方法:编辑 jupyter 脚本,改成最新的路径,注意“#!”别不小心被删了。:
vim /xxx/bin/jupyter
case 2 无法启动 notebook 服务
Error executing Jupyter command 'notebook': [Errno 2] No such file or directory
原因分析:jupyter 版本升级后,notebook 的启动命令变了,从原来的 jupyter notebook
变成了 jupyter-notebook
(中间多了一个短折号)。
解决方法:编辑 jupyter-notebook 脚本,改成最新的路径,注意“#!”别不小心被删了。然后使用 jupyter-notebook
命令来启动。
vim /xxx/bin/jupyter-notebook
jupyter-notebook
case 3 kernel error 启动服务失败
FileNotFoundError: [Errno 2] No such file or directory: '/xxx/bin/python': '/xxx/bin/python'
原因分析:还是环境路径的问题。
解决方法:编辑 jupyter-notebook 脚本,改成最新的路径,注意“#!”别不小心被删了。然后使用 jupyter-notebook
命令来启动。
vim /xxx/bin/jupyter-notebook
jupyter-notebook
其他问题待观察和补充。