【问题标题】:Unable to import sqlite3 using Anaconda Python无法使用 Anaconda Python 导入 sqlite3
【发布时间】: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,但导入仍然失败。做什么?

【问题讨论】:

    标签: python-3.x windows sqlite anaconda importerror


    【解决方案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 文件。这正常吗?
            猜你喜欢
            • 1970-01-01
            • 2019-03-18
            • 2018-06-28
            • 1970-01-01
            • 2017-05-17
            • 2023-03-18
            • 2020-01-10
            • 1970-01-01
            • 2016-02-14
            相关资源
            最近更新 更多