2015-11-07 118 views
0

我是新來的燒瓶和heroku,但我建立了一個簡單的應用程序,並推到heroku使用SQLite。應用程序遷移到遠程MySQL數據庫後,我注意到,不能讓應用程序運行,因爲我收到以下錯誤: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 

我在哪裏出錯了?

+0

你是如何上運行的應用程序?看起來你並沒有在你試圖運行應用程序的Python上安裝這個包。 heroku的默認數據庫是PostgreSQL。併爲我的[expirience](http://stackoverflow.com/questions/33180337/flask-sql-alchemy-mysql-multiple-foreign-keys-issues)和很多[人](http://grimoire.ca/mysql/choose-something-else)MySQL很糟糕。試試 – CESCO

+0

Heroku自動識別應用程序(https://devcenter.heroku.com/articles/getting-started-with-python-o),但是不應該能夠使用我想要的任何分貝? – kmomo

+0

我認爲Postgres開箱即可。要使用MySQL,你需要一個可能付費的插件插件。我不知道你需要檢查它。運行'heroku config'來檢查你的服務器上是否還沒有運行Postgres數據庫。我基本上使用JAVA與heroku。至少這在Java世界中是如此。 – CESCO

回答

相關問題