在python3下使用peewee

在python3下使用peewee-2.1.4做ORM。连接MySQL数据库,提示需要MySQLdb模块,发现MySQLdb模块不支持python3,各种折腾、google不得其法。

然后又试着使用MySQL官方forPython驱动 Connector/Python
需要对qeewee代码改动
改动的渐入佳境,沾沾自喜中发现peewee的代码中有如下片段

try:
import MySQLdb as mysql
except ImportError:
try:
import pymysql as mysql
except ImportError:
mysql = None

基本上就是说如果找不到MySQLdb那么就找pymysql,

于是在https://pypi.python.org/pypi搜索pymysql发现PyMySQL3 0.5
折腾了一天的python3中使用peewee连接mysql告破。

安装PyMySQL3 0.5

wget https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz

tar -xzf PyMySQL3-0.5.tar.gz

cd PyMySQL3-0.5

sudo python3 setup.py install

接着将

try:
import MySQLdb as mysql
except ImportError:
try:
import pymysql as mysql
except ImportError:
mysql = None

改为

try:
import pymysql as mysql
except ImportError:
try:
import MySQLdb as mysql
except ImportError:
mysql = None

这里还有一点需注意, python3中,粗略地说 .... 在Python 3,所有的字符串都是使用Unicode编码的字符序列, 无需use_unicode=True,

所以将peewee.py 1882行的 use_unicode=True 注释. 否则会出现编码错误.

原文地址:https://www.cnblogs.com/luxiaorui/p/3931027.html