Обходной путь для «ImportError: ошибка загрузки DLL при импорте mariadb: указанный модуль не может быть найден». - PullRequest
0 голосов
/ 25 мая 2020

После установки MariaDB Connector / Python на Windows 64-бит с Python 3.8.3 Я получаю следующую ошибку в 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. Use MySQL Connector / Python для подключения к MariaDB. Это жизнеспособное решение?
  2. Соберите MariaDB Connector / Python из исходных кодов или иным образом загрузите предварительно собранный пакет, если он доступен. Но как это сделать?

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Эта ошибка была вызвана небольшой опечаткой: вместо статического связывания MariaDB Connector / C был связан динамически, но libmariadb.dll не мог быть загружен.

Фактически есть 3 варианта:

  1. Соберите C / Python самостоятельно, как Серж уже указал в своем ответе.
  2. Установите MariaDB Connector / C и поместите каталог \ lib и \ lib \ plugin на вашем пути.
  3. Установите MariaDB Connector / Python 0.9.59-beta, которую я загрузил на pypi.org всего за несколько минут до этого.
1 голос
/ 25 мая 2020

По-видимому, самым быстрым и надежным решением (насколько я могу судить) было создание MariaDB Connector / Python из исходников с помощью , следуя инструкциям из wiki , в частности, имея 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
...