因此,我一直在尝试使用python进行一些数据库更新,并且在设置整个开发环境时,遇到了这三件事,这让我感到头晕。
有MySQLdb
有mysqlclient
然后是一个mysql连接器python
它们分别是什么,区别和在哪里使用?谢谢
MySQLdb是围绕C模块的瘦Python包装器,该模块实现MySQL数据库的API。
有MySQLDb1包装的版本中使用前一段时间,现在它被认为是一个遗留问题。作为MySQLDb1开始发展到MySQLDb2与bug修复和Python3支持下,MySQLDb1是分叉的,这里是如何的mysql出现,补丁与Python3支持。总结一下,所以现在我们有尚未投入生产的MySQLDb2,过时的驱动程序MySQLDb1和社区支持的mysqlclient以及错误修复和Python3支持。
现在,为了解决这种麻烦,MySQL提供了自己的MySQL适配器版本-mysql connector,这是一个全功能的python模块,它使用MySQL API, 没有C模块依赖项 ,只使用标准的python模块。
因此,现在的问题归结为:mysqlclient vs mysql connector。
对于我来说,我会使用官方支持的库,但是也mysqlclient应该是一个不错的选择。他们都正在积极地通过修复和新功能进行更新,您可以通过最近几天的活动提交来查看它们。
mysqlclient
注意:我对它们没有太多经验,因此在某些情况下,一个或另一个可能无法满足您的需求。 这两个库都遵循PEP-249标准,这意味着您应该在任何地方都至少具备基本功能。
安装和依赖性
作为C包装程序的分支,它要求C模块与MySQL一起使用,该模块添加python头文件来构建这些扩展(请阅读python- dev)。安装取决于您使用的系统,只需确保您知道软件包名称即可安装它们。