无法通过 pybind11 调用 mysql.connector.connect

问题描述

我有一个执行一些深度学习任务的 python 脚本,并使用 MysqL.connector 在 MysqL 中存储一些元信息。我有一个单独的 C 程序来做一些其他的工作(非深度学习,非 MysqL)。 python 脚本在独立模式下可以正常工作,C 程序也是如此。

我需要从 C 程序调用 python 脚本的功能。为此,我使用了 pybind11。但是 MysqL.connector.connect() 在通过 Pybind11 调用安静地失败,甚至没有抛出任何错误

更令人困惑的是——如果我使用 python3MysqLdb 模块代替 MysqL.connector,MysqLdb 可以完美运行,我可以通过 Pybind11 从 C 程序调用的脚本中执行所有数据库调用

此外,如果我在 Python 脚本中使用其他数据库 API(如 Redis)并使用 pybind11 通过 C 程序调用它,则效果很好。

那么通过pybind11调用MysqL.connector.connect()有什么问题?

我使用的是 Ubuntu 18.04

MysqL 版本 5.7.33-0ubuntu0.18.04.1

Python 3.6.9

mysql-connector-python 8.0.22

MysqLclient 2.0.1

python-MysqLdb(通过APT安装)1.3.10-1build1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)