Pythonのドライバがいくつもある件
どのドライバ使えばいいんだってばよ
なんでこんなにあるんだ
ここにいくつもある
で、日本語で情報が検索できたものとしてピックアップしたのがこのへん
- PyMySQL
- mysql-connector-python
- MySQL-Python
- mysqlclient
概要を表にしてみた
プロダクト | python2 | python3 | 備考 |
---|---|---|---|
PyMySQL | ○ | ○ | PyMySQL3ってのがあったけど今はこれ1本 |
mysql-connector-python | ○ | ○ | MySQL公式 |
MySQL-Python | ○ | × | Python3には使えない |
mysqlclient | × | ○ | 3を使えないMySQL-Pythonを3に対応したもの |
PyMySQL
PurePythonを謳うドライバ。ググるとだいぶ上位に出てくるので、まずは試そうかなという気持ちにさせられる。python2系とpython3系の両方に対応している。
mysql-connector-python
MySQL :: Download Connector/Python
公式によるドライバ。公式ってことはですよ、あのOracleのサポートでもあるんですよ。心強いですねぇ。これがドライバを試す初めの一歩にはいいと思います。
MySQL-Python
Index of Packages : Python Package Index
古株のドライバらしいんですけどね、python3には対応してないっていう。比較的新参pythonistaなので、僕はpython3を使っている。よってこれはお話になりませんという話。python3に対応するよって言いながらここ何年も進んでいない気がする。
mysqlclient
という事で業を煮やしたハッカーが、MySQL-Pythonからforkしていって、しまいにはpython3に対応したというオープンソースならではのプロダクト。WebフレームワークであるDjangoの推奨ドライバにもなっているので導入しておいて損はないかも。
まとめ
mysql-connector-pythonをメインに使って、適材適所で他のドライバを使うのがいいかと。サブとしてDjango用にmysqlclientも入れておくと隙が無い。