我正在尝试在 Windows 上的 Python 3.7.1 中执行以下操作
import sqlite3
但我收到以下错误消息
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.
我已经搜索了很长一段时间的问题的解决方案,但无济于事。我也在 Anaconda 提示符下成功运行了 pip install pysqlite3
,但导入仍然失败。做什么?
我通过下载在 Windows 上运行:the sqlite3 dll (查找您的系统版本)
并将其放入文件夹:C:\Users\YOURUSER\Anaconda3\DLLs
(根据您安装 Anaconda 的方式,可能必须将其放入以下文件夹:C:\ProgramData\Anaconda3\DLLs
)
根据@alireza-taghdisian,您可以通过在 anaconda 提示符上键入: conda info --envs 来定位您的 conda 环境的确切路径(您需要复制 sqlite3 dll 的位置)。
找到 sqlite3.dll 文件。就我而言,它位于以下文件夹中
C:\Users\Admin\anaconda3\Library\bin
其中 C:\Users\Admin\anaconda3
是安装 Anaconda 的文件夹
将其添加到环境变量中的 PATH 中,然后它应该可以工作。
请检查https://github.com/jupyter/notebook/issues/4332我已将 anaconda root/Library/bin 添加到我的 PATH 中,现在它可以工作了!
尝试从
C:\Users\YOURUSER\anaconda3\Library\bin
文件夹到
C:\Users\YOURUSER\Anaconda3\DLLs
将 CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1 添加到您的环境变量中。
在执行程序之前,在您的 shell 中输入 conda activate
。
我已经尝试了上述所有解决方案但是对于我和我的系统我知道我在 C:\Python27 中下载了 Python,因此在 python C:\Python27\DLLs 中有 dll 文件夹我在上面的 dll 文件夹中安装了 Sqlite3.dll
可能这个解决方案会帮助你,因为它完全取决于你在哪里安装你的 python 快乐编码:)
`
括号表示路径和代码片段。要突出显示应用程序的名称或界面,请使用粗体(**
括号)或斜体(*
括号)字体。要从新行开始,请在行尾使用 double space - 这个问题会比在任何地方使用 Enter 更清楚。添加一些 :
也会很好。
我将 sqlite3.dll 放在我的 Python venv 的路径文件夹中,但仍然无法工作。我怀疑是路径问题。
(在我的例子中:E:\Virtual_Env\mini_zinc\env\Scripts)
我发现在我的案例中,我搞砸了虚拟 evn 中的安装,不知何故在 Python venv 中使用了 anaconda python 内核。
我重新安装 Python Venv 并在安装 Env 正确后检查 python 版本(不是 Anaconda python),然后继续使用 Jupyter Notebook(或 Juyterlab)并且工作正常。
我可以通过将 sqlite3.dll 文件放入 C:\Users
从 https://www.sqlite.org/download.html 下载 sqlite3.dll 文件或从 C:\ProgramData\Anaconda3\DLLs\ 复制它
我发现@elgsantos 很有用。但是对于像我一样不熟悉 Python 和 Conda 的人,我想补充一点细节。
1-我使用 miniconda3 来创建新环境。
2-有趣的是,我的计算机上有两个 conda 安装路径:第一个(很明显)位于“C:\Users\taghdisian\miniconda3”。第二个在“C:\Users\taghdisian\AppData\Local\r-miniconda”上。后者是将 sqlite3 文件复制到 envs 文件夹所需的主要路径。我将它们复制到“C:\Users\taghdisian\AppData\Local\r-miniconda\envs\sdr3.9\DLLs”中,其中 sdr3.9 是我的虚拟 Condo 环境之一。
您可以通过在 anaconda 提示符上键入 conda info --envs
来定位您的 conda 环境的确切路径(您需要复制 sqlite3)。
我希望这会有所帮助。
不定期副业成功案例分享
_sqlite.pyd
文件。这对于同一虚拟环境中的命令行 python 来说已经足够了。为什么当 Anaconda 在sys.path
中共享同一个~\Anaconda3\DLLs
文件夹时它不够好?