Heroku托管烧瓶应用程序与MySQL抛出错误

时间:2015-11-07 00:29:14

标签: mysql heroku flask mysql-python

我是Flask和heroku的新手,但我构建了一个简单的应用程序并使用SQLite将其推送到heroku。将应用程序迁移到远程mysql数据库后,我注意到无法运行应用程序,因为我收到以下错误:

ImportError: No module named MySQLdb

在我found周围搜索后发现此错误是因为我需要安装pip install mysql-python

但是,我的requirements.txt文件已包含mysql-python

$ pip freeze

Flask==0.10.1
Flask-Login==0.3.2
Flask-Migrate==1.6.0
Flask-SQLAlchemy==2.1
Flask-Script==2.0.5
Jinja2==2.8
Mako==1.0.3
MarkupSafe==0.23

MySQL-python==1.2.5

PyYAML==3.11
SQLAlchemy==1.0.9
Werkzeug==0.10.4
...

当我在heroku上运行bash时,它说我已经满足了要求:

~ $ heroku run bash
Running bash on blank-places-7646... up, run.9708

~ $ pip install mysql-python
Requirement already satisfied (use --upgrade to upgrade): mysql-python in ./.heroku/python/lib/python2.7/site-packages

~ $ pip freeze
alembic==0.8.3
Flask==0.10.1
Flask-Login==0.3.2
Flask-Migrate==1.6.0
Flask-Script==2.0.5
Flask-SQLAlchemy==2.1
itsdangerous==0.24
Jinja2==2.8
Mako==1.0.3
MarkupSafe==0.23
MySQL-python==1.2.5
pbr==1.8.1
python-editor==0.4
SQLAlchemy==1.0.9
stevedore==1.9.0
Werkzeug==0.10.4

~ $ pip install mysql-python --upgrade
Requirement already up-to-date: mysql-python in ./.heroku/python/lib/python2.7/site-packages

我哪里错了?

2 个答案:

答案 0 :(得分:0)

MySQL是Heroku的插件,所以请尝试安装ClearDB。

heroku addons:add cleardb

https://elements.heroku.com/addons/cleardb

答案 1 :(得分:0)

对我有用的东西: 我将MySQL连接移动到一个单独的文件并在那里进行了计算。将结果作为json返回到主路径文件。

我怀疑heroku在您设置路由的同一文件中执行所有MySQL连接。