ChatGPT解决这个技术问题 Extra ChatGPT

无法使用 Anaconda Python 导入 sqlite3

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


e
elgsantos

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

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

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

根据@alireza-taghdisian,您可以通过在 anaconda 提示符上键入: conda info --envs 来定位您的 conda 环境的确切路径(您需要复制 sqlite3 dll 的位置)。


此外,如果您使用的是 conda 虚拟环境,则必须将文件复制到环境文件夹内的 DLL 文件夹中
为我工作。但我的文件夹的路径是:C:\Users\YOURUSER\AppData\Local\Continuum\anaconda3\DLLs
为我工作。在 VS Code 中运行 Python 3.7.1 时出现问题。我将 sqlite3.dll(elgsantos 建议的站点)放在运行 python.exe 的 anaconda/envs/ 中。
我在 Windows 上使用由 anoncda 创建的 virtualenv。将 sqlite3.dll 放入 anaconda\DLLs 文件夹不起作用,但是,当我将其放入 virtualenv 的脚本文件夹时,问题就解决了。
但我在那个文件夹中已经有一个 _sqlite.pyd 文件。这对于同一虚拟环境中的命令行 python 来说已经足够了。为什么当 Anaconda 在 sys.path 中共享同一个 ~\Anaconda3\DLLs 文件夹时它不够好?
u
user3046442

找到 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 中的这个答案就是完整的答案。
对我来说,文件夹是 C:\ProgramData\Anaconda3\Library\bin
A
Arturo Bernal

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


在我的情况下没有帮助,或者更确切地说:那已经在我的 PATH 中并且它仍然不起作用。 :-(
a
abdoulrachid compaore

尝试从

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

文件夹到

C:\Users\YOURUSER\Anaconda3\DLLs


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

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


b
barbsan

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


s
shubham kale

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

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


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

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


A
Aditya Jayanti

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

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


A
Alirez

我发现@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)。

我希望这会有所帮助。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅