最近看了看Flask,可是网上的教程全是用SQLite的,自己连接MySQL的时候,把connect URL修改成MySQL的样子,总是不成功。踩了一天的坑之后终于解决了。

MySQL-Python

连接MySQL的话必须要装这个库,通常情况下使用pip install就可以了。但是如果在windows上,需要额外安装MySQL Connector 6.0.2 c,必须是这个版本。根据你的python版本选择32bit or 64bit,virtualenv中python是32bit,也需要使用32bit的Connector。

Connector的安装路径建议选择默认的,可以把MySQL-Python这个包下回来看看,里面的site.cfg文件里写死了include的路径。(还给了个stackoverflow的链接XD)

pyMySQL

网上还看到也有人推荐使用这个库,但是我尝试安装了这个,并将connect URL改成了mysql+pymysql://user:pass@localhost/database后,执行create_all()后无报错,也没有建表。因为同样需要安装MySQL-Python这个类似于中间件的东西,不然Python是无法和MySQL交流的。

难怪网上都用SQLite做教程,(╯‵□′)╯︵┻━┻。。。因为简单不出错。。。┬—┬ノ('-'ノ)