MacOS Catalina下重装Jupyter后遇500错误及conda异常求助
问题
因Jupyter内核持续停止,卸载并重装ipykernel后出现以下问题:
- 打开Jupyter Notebook时触发500 internal server error
- 重装
nbconvert后无任何改善 - 重装Jupyter后,
jupyter命令完全无法使用
系统环境:Mac OS Catalina Version 10.15.7,当前处于(base)环境,conda list显示所需包均已安装,相关包版本如下:
ipykernel 6.15.2 pypi_0 pypi ... jupyter 1.0.0 py38hecd8cb5_8 jupyter-client 7.3.5 pypi_0 pypi jupyter-console 6.4.4 pypi_0 pypi jupyter-telemetry 0.1.0 pypi_0 pypi jupyter_client 7.3.4 py38hecd8cb5_0 jupyter_console 6.4.3 pyhd3eb1b0_0 jupyter_core 4.10.0 py38hecd8cb5_0 jupyter_server 1.13.5 pyhd3eb1b0_0 jupyterhub 2.3.1 pypi_0 pypi jupyterlab 3.3.2 pyhd3eb1b0_0 jupyterlab-pygments 0.2.2 pypi_0 pypi jupyterlab-widgets 3.0.3 pypi_0 pypi jupyterlab_server 2.10.3 pyhd3eb1b0_1 jupyterlab_widgets 1.0.0 pyhd3eb1b0_1 ... nbconvert 7.0.0 pypi_0 pypi
此外,执行conda list等命令时会先弹出如下报错,随后才会列出包:
(base) MacBook-Pro-di-federico:Dropbox federiconutarelli$ conda list Error processing line 1 of /Users/federiconutarelli/opt/anaconda3/lib/python3.8/site-packages/matplotlib-3.5.2-py3.8-nspkg.pth: Traceback (most recent call last): File "/Users/federiconutarelli/opt/anaconda3/lib/python3.8/site.py", line 169, in addpackage exec(line) File "<string>", line 1, in <module> File "<frozen importlib._bootstrap>", line 553, in module_from_spec AttributeError: 'NoneType' object has no attribute 'loader' Reminder of file ignored ...
询问:操作是否存在问题?如何在保证所需包更新的前提下解决这些问题?
解决方案
你的操作核心问题是混用conda和pip安装Jupyter相关包(如ipykernel、jupyter-client等同时存在conda和PyPI版本),导致依赖冲突;另外matplotlib的.pth文件损坏,干扰了conda命令的正常执行。以下是具体修复步骤:
修复matplotlib文件损坏问题
- 删除损坏的
.pth文件:rm /Users/federiconutarelli/opt/anaconda3/lib/python3.8/site-packages/matplotlib-3.5.2-py3.8-nspkg.pth - 用conda强制重装matplotlib,确保文件完整性:
conda install -n base --force-reinstall matplotlib=3.5.2
- 删除损坏的
清理冲突的Jupyter包
- 卸载所有通过pip安装的Jupyter相关包:
pip uninstall -y ipykernel jupyter-client jupyter-console jupyter-telemetry jupyterhub jupyterlab-pygments jupyterlab-widgets nbconvert - 用conda强制重装base环境的Jupyter核心组件,统一依赖来源:
conda install -n base --force-reinstall jupyter ipykernel jupyter-client jupyter-core jupyter-server nbconvert jupyterlab
- 卸载所有通过pip安装的Jupyter相关包:
重建Jupyter内核配置
- 移除现有冲突内核:
jupyter kernelspec remove python3 -y - 重新注册base环境的内核:
python -m ipykernel install --name python3 --user
- 移除现有冲突内核:
验证修复效果
- 执行
conda list确认无报错,且Jupyter相关包均为conda安装版本(无pypi_0标记) - 启动Jupyter Notebook:
检查是否能正常打开,内核是否能稳定运行jupyter notebook
- 执行
内容的提问来源于stack exchange,提问作者Lusian
相关产品推荐
相关产品推荐

