问题描述
我有一个执行一些深度学习任务的 python 脚本,并使用 MysqL.connector 在 MysqL 中存储一些元信息。我有一个单独的 C 程序来做一些其他的工作(非深度学习,非 MysqL)。 python 脚本在独立模式下可以正常工作,C 程序也是如此。
我需要从 C 程序调用 python 脚本的功能。为此,我使用了 pybind11。但是 MysqL.connector.connect() 在通过 Pybind11 调用时安静地失败,甚至没有抛出任何错误。
更令人困惑的是——如果我使用 python3 的 MysqLdb 模块代替 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 (将#修改为@)