#工作记录
一、问题描述
在Anaconda navigator 2.6.6 图形界面中启动Anaconda Toolbox时弹窗报错:
报错信息摘录:
Traceback (most recent call last):
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyter_server\services\sessions\sessionmanager.py", line 14, in
import sqlite3
File "D:\ProgramData\anaconda3\Lib\sqlite3\__init__.py", line 57, in
from sqlite3.dbapi2 import *
File "D:\ProgramData\anaconda3\Lib\sqlite3\dbapi2.py", line 27, in
from _sqlite3 import *
ImportError: DLL load failed while importing _sqlite3: \u627e\u4e0d\u5230\u6307\u5b9a\u7684\u6a21\u5757\u3002During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\ProgramData\anaconda3\Scripts\jupyter-lab-script.py", line 6, in
from jupyterlab.labapp import main
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyterlab\__init__.py", line 8, in
from .handlers.announcements import (
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyterlab\handlers\announcements.py", line 15, in
from jupyterlab_server.translation_utils import translator
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyterlab_server\__init__.py", line 6, in
from .app import LabServerApp
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyterlab_server\app.py", line 10, in
from jupyter_server.extension.application import ExtensionApp, ExtensionAppJinjaMixin
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyter_server\extension\application.py", line 17, in
from jupyter_server.serverapp import ServerApp
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyter_server\serverapp.py", line 107, in
from jupyter_server.gateway.managers import (
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyter_server\gateway\managers.py", line 32, in
from ..services.sessions.sessionmanager import SessionManager
File "D:\ProgramData\anaconda3\Lib\site-packages\jupyter_server\services\sessions\sessionmanager.py", line 17, in
from pysqlite2 import dbapi2 as sqlite3 # type:ignore[no-redef]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'pysqlite2'
二、问题分析
从错误信息来看,似乎存在两个主要问题:
-
无法加载
sqlite3
的 DLL 文件。 -
系统尝试从
pysqlite2
导入sqlite3
,但找不到pysqlite2
模块。
python -c "import sqlite3; print(sqlite3.sqlite_version)"
三、针对性地解决方法
以下是针对性地解决这个问题的步骤:
检查 DLL 文件
确保 D:\ProgramData\anaconda3\Library\bin
目录下存在 sqlite3.dll
文件。如果不存在,可以从 SQLite 官方网站下载最新版本的 DLL 文件,并将其放入Anaconda安装目录下的DLL目录。
下载网站
下载后解压得到两个文件:
将这两个文件复制到Anaconda安装目录下的DLLs目录下:
sqlite3.def
sqlite3.dll
D:\ProgramData\anaconda3\DLLs
复制完成后重新运行测试:
python -c "import sqlite3; print(sqlite3.sqlite_version)"
看到输出版本号之后,重新回到Anaconda navigator 2.6.6 图形界面中启动Anaconda Toolbox:
启动成功:
四、总结
在使用 Anaconda Navigator 时,出现 ImportError: DLL load failed while importing _sqlite3
错误,通常是由于 sqlite3.dll
文件缺失或损坏导致的。尽管尝试了多种安装和更新命令,但问题仍未解决。这种情况下,可以尝试以下方法:
-
检查 DLL 文件:
-
确认
D:\ProgramData\anaconda3\Library\bin
目录下是否存在sqlite3.dll
文件。 -
如果文件不存在或损坏,可以从 SQLite 官方网站下载最新版本的
sqlite3.dll
文件,并将其复制到上述目录中。
-
这种方法简单直接,能够有效解决因 DLL 文件缺失导致的问题。通过确保必要的 DLL 文件到位,可以避免许多与动态链接库相关的错误,保证 Anaconda 环境的正常运行。