无法使用 Anaconda Python 导入 sqlite3

Posted

技术标签:

【中文标题】无法使用 Anaconda Python 导入 sqlite3【英文标题】:Unable to import sqlite3 using Anaconda Python 【发布时间】:2019-07-19 11:01:08 【问题描述】:

我正在尝试在 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,但导入仍然失败。做什么?

【问题讨论】:

【参考方案1】:

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

【讨论】:

在我的情况下没有帮助,或者更确切地说:is 已经在我的 PATH 中,但它仍然不起作用。 :-(【参考方案2】:

我通过下载在 Windows 上运行:the sqlite3 dll(查找您的系统版本)

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

(根据您安装 Anaconda 的方式,可能必须将其放入 以下文件夹:C:\ProgramData\Anaconda3\DLLs)

【讨论】:

这个答案应该是被接受的答案,直截了当并实际修复它 - 而不仅仅是讨论。 +1 另外,如果您使用的是 conda 虚拟环境,则必须将文件复制到环境文件夹内的 DLL 文件夹中 为我工作。但我的文件夹的路径是:C:\Users\YOURUSER\AppData\Local\Continuum\anaconda3\DLLs 为我工作。在 VS Code 中运行 Python 3.7.1 时出现问题。我将 sqlite3.dll(elgsantos 建议的站点)放在运行 python.exe 的 anaconda/envs/ 中。 我花了数周时间试图弄清楚这一点。这就是最终修复它的原因。感激不尽。【参考方案3】:

在执行程序之前,在你的 shell 中输入conda activate

【讨论】:

【参考方案4】:

找到 sqlite3.dll 文件。就我而言,它位于以下文件夹中

C:\Users\Admin\anaconda3\Library\bin 

C:\Users\Admin\anaconda3 是安装 Anaconda 的文件夹

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

【讨论】:

如何添加到 PATH 变量中?在 VS 代码中。 在 Pycharm 中,您可以在 Run->Edit Configurations->Environment Variables 下添加 PATH 环境变量。这样做的好处是可以为不同的python版本指定不同的路径 这对我有用。谢谢。因此,如果您还没有 dll,则可能是 elgsantos 的答案的组合,而您将其添加到 PATH 中的这个答案就是完整的答案。【参考方案5】:

我将 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)并且工作正常。

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

我能够通过将 sqlite3.dll 文件放入 C:\Users\AppData\Local\conda\conda\envs\DLLs 来解决此问题。

从https://www.sqlite.org/download.html下载 sqlite3.dll 文件 或从 C:\ProgramData\Anaconda3\DLLs\ 复制它

【讨论】:

【参考方案8】:

我已经尝试了上述所有解决方案但是对于我和我的系统我知道 我在 C:\Python27 中下载了 Python,因此在 python C:\Python27\DLLs 中有 dll 文件夹 我在上面的 dll 文件夹中安装了 Sqlite3.dll

这个解决方案可能会对你有所帮助,因为它完全取决于你在哪里安装你的 python 快乐编码:)

【讨论】:

当你获得 50 声望时,记得使用 cmets 来获得此类提示。 您的答案存在一些格式问题。尝试改进它。使用` 括号表示路径和代码片段。要突出显示应用程序的名称或界面,请使用 粗体** 括号)或 斜体* 括号)字体。要从新行开始,请在行尾使用 double space - 这个问题会比在任何地方使用 Enter 更清楚。添加一些: 也很好。【参考方案9】:

尝试从

复制sqlite3.dll

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

文件夹到

C:\Users\YOURUSER\Anaconda3\DLLs

【讨论】:

我刚刚重新安装了 anaconda(在 Win10 上使用 python3.8、64 位)但 ...anaconda3\Library 下没有 bin 文件夹。 sqlite3.dll 位于 ...anaconda3\pkgs\sqlite-3.35.4-h2bbff1b_0\Library\bin 中。这算不算奇怪?当然,我可以创建文件夹 ...anaconda3\Library\bin 并将其中的 sqlite3.dll 复制为单个 .dll 文件。这正常吗?

以上是关于无法使用 Anaconda Python 导入 sqlite3的主要内容,如果未能解决你的问题,请参考以下文章

Python 3 ImportError:无法导入名称“模型选择”OS X 10.11.3,Anaconda

Anaconda:即使安装了opencv也无法导入cv2(如何为python3安装opencv3)

安装 Anaconda 后无法导入 numpy

用 Anaconda 安装了一个包,无法在 Python 中导入

如何确保正确配置anaconda环境以导入包[重复]

为啥我无法在 Anaconda 或 python 中正确安装 dlib