无法使用Anaconda Python导入sqlite3

G L*_*G L 10 windows sqlite importerror python-3.x anaconda

我正在Windows上的Python 3.7.1中尝试执行以下操作

import sqlite3
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误消息

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "c:\programdata\anaconda3\lib\sqlite3\__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "c:\programdata\anaconda3\lib\sqlite3\dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

我搜索该问题的解决方案已经有一段时间了,但无济于事。我也已经pip install pysqlite3在Anaconda提示符下成功运行,但是导入仍然失败。做什么?

小智 19

我通过下载以下代码在Windows上工作:sqlite3 dll(查找您的系统版本)

并放入文件夹:C:\ Users \ YOURUSER \ Anaconda3 \ DLLs

(取决于安装Anaconda的方式,可能必须将其放置在以下文件夹中:C:\ ProgramData \ Anaconda3 \ DLLs)

  • 这个答案应该是公认的答案,直截了当并解决问题,而不仅仅是讨论。+1 (3认同)
  • 另外,如果您使用的是conda虚拟环境,则必须将文件复制到环境文件夹内的DLL文件夹中 (3认同)
  • 为我工作。在 VS Code 中运行 Python 3.7.1 时出现问题。我将 sqlite3.dll (由 elgsantos 建议的站点)放在我运行 python.exe 的 *anaconda/envs/* 中。 (3认同)
  • 为我工作。但是我的文件夹的路径是:C:\ Users \ YOURUSER \ AppData \ Local \ Continuum \ anaconda3 \ DLLs (2认同)
  • 但我在该文件夹中已经有一个 `_sqlite.pyd` 文件。这对于同一虚拟环境中的命令行 python 来说已经足够了。当两者在 `sys.path` 中共享相同的 `~\Anaconda3\DLLs` 文件夹时,为什么对 Anaconda 来说还不够好? (2认同)

小智 15

尝试从以下位置复制 sqlite3.dll

C:\Users\YOURUSER\anaconda3\Library\bin

文件夹到

C:\Users\YOURUSER\Anaconda3\DLLs


use*_*442 12

找到sqlite3.dll文件。在我的情况下,它在以下文件夹中

C:\Users\Admin\anaconda3\Library\bin 
Run Code Online (Sandbox Code Playgroud)

这里C:\Users\Admin\anaconda3是安装蟒蛇的文件夹

将此添加到环境变量中的 PATH 中,然后它应该可以工作。


小智 10

请检查https://github.com/jupyter/notebook/issues/4332 我将anaconda root /Library/bin 添加到我的 PATH 中,现在它可以工作了!


小智 5

在执行程序之前,请输入conda activate您的 shell。


Mab*_*bus 5

将 CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1 添加到您的环境变量中。