从Anaconda Prompt启动Jupyter Notebook遇ImportError:原因与解决方法
Jupyter Notebook启动时zmq循环导入错误的成因与解决方法
错误成因
- 核心原因是**zmq(ZeroMQ)**模块内部发生循环导入:
zmq.backend.cython模块初始化过程中尝试导入_device,但该依赖模块又反过来依赖未完全初始化的zmq.backend.cython,导致模块加载失败。 - 常见触发场景:
- Anaconda环境中zmq版本与Jupyter相关组件版本不兼容
- 环境中存在多版本zmq(如系统级与conda环境级),引发模块加载混乱
- zmq安装/更新过程中断,残留损坏的缓存文件或不完整的模块文件
解决方法
方法一:强制重新安装zmq模块
激活目标conda环境(base环境可跳过激活),在Anaconda Prompt中执行:# 使用pip重新安装 pip uninstall pyzmq -y pip install pyzmq --force-reinstall或使用conda命令:
# 使用conda重新安装 conda uninstall pyzmq -y conda install pyzmq方法二:清理Python缓存文件
找到conda环境下Lib\site-packages\zmq目录,删除所有.pyc、.pyo后缀的缓存文件,以及__pycache__文件夹,之后重新启动Jupyter Notebook。方法三:新建干净的conda环境
若当前环境版本冲突严重,可创建新环境隔离问题:conda create -n new_jupyter_env python=3.9 # 可按需指定Python版本 conda activate new_jupyter_env conda install jupyter notebook在新环境中启动Jupyter Notebook即可。
方法四:更新conda及所有组件
执行命令更新conda和环境内所有包,修复版本兼容问题:conda update conda conda update --all
内容的提问来源于stack exchange,提问作者nareneko36
相关产品推荐
相关产品推荐

