Jupyter 无法启动虚拟环境的问题“ImportError: DLL load failed while importing error”

问题描述
使用 Jupyter Notebook 或 Jupyter Lab 时,常常需要使用虚拟环境的内核。然而实际启动时可能会出现如下的报错信息,导致无法正常使用内核:

Traceback (most recent call last):
File “E:\Software\anaconda3\envs\test\lib\runpy.py”, line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File “E:\Software\anaconda3\envs\test\lib\runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “E:\Software\anaconda3\envs\test\lib\site-packages\ipykernel_launcher.py”, line 15, in
from ipykernel import kernelapp as app
File “E:\Software\anaconda3\envs\test\lib\site-packages\ipykernel__init__.py”, line 2, in
from .connect import *
File “E:\Software\anaconda3\envs\test\lib\site-packages\ipykernel\connect.py”, line 18, in
import jupyter_client
File “E:\Software\anaconda3\envs\test\lib\site-packages\jupyter_client__init__.py”, line 4, in
from .connect import *
File “E:\Software\anaconda3\envs\test\lib\site-packages\jupyter_client\connect.py”, line 21, in
import zmq
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq__init__.py”, line 55, in
from zmq import backend
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\backend__init__.py”, line 40, in
reraise(*exc_info)
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\utils\sixcerpt.py”, line 34, in reraise
raise value
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\backend__init__.py”, line 27, in
_ns = select_backend(first)
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\backend\select.py”, line 28, in select_backend
mod = import(name, fromlist=public_api)
File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\backend\cython__init__.py”, line 6, in
from . import (constants, error, message, context,
ImportError: DLL load failed while importing error: 找不到指定的模块。

问题分析
在报错信息中,关键的语句为

File “E:\Software\anaconda3\envs\test\lib\site-packages\zmq\backend\cython__init__.py”, line 6, in
from . import (constants, error, message, context,
ImportError: DLL load failed while importing error: 找不到指定的模块。

可以看出,在调用 zmq 包时出现 ImportError,从而导致内核启动失败。使用 conda list 查看包版本,其中 pyzmq 的版本号为 20.0.0,可以尝试安装其他版本的 pyzmq 以解决该问题。

解决方案
进入虚拟环境
conda activate test

安装旧版本 pyzmq(默认通道下 pyzmq 的最新版本为 20.0.0,因此只能安装旧版本)
conda install pyzmq=19

如果python版本是3.9,需要安装22版本。
conda install pyzmq=22

或者,如果想要使用最新的 pyzmq 包,也可以从 conda-forge 通道安装
conda install pyzmq -c conda-forge

回到 base 环境,启动 Jupyter
conda deactivate
jupyter lab

无报错信息,虚拟环境内核顺利启动

原文:https://blog.csdn.net/Draymond_666/article/details/114040739

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Jupyter 无法启动虚拟环境的问题“ImportError: DLL load failed while importing error”》
文章来自:泰恩数据
文章链接:https://tyne.cc/1035.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址