繁体   English   中英

“ImportError: DLL load failed while importing mariadb: The specified module could not be found”的解决方法。

[英]Workaround for “ImportError: DLL load failed while importing mariadb: The specified module could not be found.”

在使用 Python 3.8.3 在 Windows 64 位上安装 MariaDB 连接器/Python 后,我在import mariadb时收到以下错误

ImportError: DLL load failed while importing mariadb: The specified module could not be found.

显然这是一个已知问题 请您帮我找到解决方法,直到问题得到解决?

venv\app_name\Lib\site-packages\mariadb-0.9.58.dist-info产生以下结果:

2020-05-25  16:41                 4 INSTALLER
2020-05-25  16:41            27,030 LICENSE
2020-05-25  16:41             2,625 METADATA
2020-05-25  16:41               572 RECORD
2020-05-25  16:41                 8 top_level.txt
2020-05-25  16:41               105 WHEEL
               6 File(s)         30,344 bytes

显然它看起来不是很多有用的东西,因为没有 Python 或 C/C++ 模块。 所以也许用pip3 install --pre mariadb失败了(尽管它报告成功)。

我想到了以下候选解决方案:

  1. 使用 MySQL 连接器/Python 连接到 MariaDB。 这是一个可行的解决方案吗?
  2. 从源代码构建 MariaDB 连接器/Python 或以其他方式下载预构建的 package(如果可用)。 但是如何做到这一点?

显然,最快和最可靠的解决方案(据我所知)是按照 wiki 中的步骤从源代码构建 MariaDB Connector/Python,特别是安装了 MSVS 2019 和 MariaDB Connector/C,我在虚拟环境命令行:

set MARIADB_CC_INSTALL_DIR="C:\Program Files\MariaDB\MariaDB Connector C 64-bit"
python setup.py build
python setup.py install

这个错误是由一个小错字引起的,而不是静态链接,MariaDB Connector/C 是动态链接的,但 libmariadb.dll 无法加载。

实际上有3个选项:

  1. 正如 Serge 在他的回答中已经指出的那样,自己构建 C/Python。
  2. 安装 MariaDB Connector/C,并将 \lib 和 \lib\plugin 目录放在你的路径中。
  3. 安装 MariaDB Connector/Python 0.9.59-beta,几分钟前我上传到 pypi.org。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM