我正在尝试使用Heroku部署Flask应用程序.这是简单的API.与工头一起工作很棒但是在heroku上启动时我得到错误(日志在下面).
这是我的应用程序代码(我知道它只是查看一个块,但我有问题将其拆分为文件):
import flask
import flask.ext.sqlalchemy
import flask.ext.restless
app = flask.Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@server/db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)
from sqlalchemy import Column, Integer, String, ForeignKey,\
Date, DateTime, Boolean, Float
class fruits(db.Model):
__tablename__ = 'fruits'
id = Column(Integer, primary_key=True)
name = Column(String(50),nullable=False)
calories = Column(Integer, nullable=False)
amount = Column(Integer, nullable=False)
unit = Column(String(10),nullable=False)
url = Column(String(100),nullable=True)
@app.route('/')
def hello_world():
return 'Hello World!'
# Create the database tables.
db.create_all()
# Create the Flask-Restless API manager.
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)
# …Run Code Online (Sandbox Code Playgroud) 因此,我确实有一个Flask应用程序,我可以在本地计算机上运行它,并将其成功部署到heroku,但是当我这样做时,heroku open该网站一直在说“应用程序错误”。
这是在我的app.py中:
import random
import os
from flask import Flask
from gen_histogram import histogram
from sample import generate_probability, generate_word
app = Flask(__name__)
dict_histogram = histogram('tom_sawyer.txt')
tes_list = ["one", "fish", "two", "fish", "red", "fish", "blue", "fish"]
def try_random():
return random.choice(tes_list)
@app.route('/')
def hello_world():
return try_random()
if __name__ == '__main__':
port = int(os.environ.get("PORT", 5000))
app.run(debug=True, port=port)
Run Code Online (Sandbox Code Playgroud)
程序文件:
web: gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
笔记:
我进行了所有设置,包括virtualenv和requirements.txt
我刚刚第一次将我的应用程序推送到heroku但是当我访问页面时仍然遇到"应用程序错误"..我不熟悉heroku并且似乎无法在帮助/开发中心链接中找到任何引用.
转到heroku日志我得到这个:
C:\Users\XXX\Desktop\xxxxx.folder>heroku logs
2013-10-14T02:32:18.578976+00:00 heroku[api]: Enable Logplex by EMAIL@email.com
2013-10-14T02:32:18.597277+00:00 heroku[api]: Release v2 created by EMAIL@email.com
2013-10-14T02:32:46+00:00 heroku[slug-compiler]: Slug compilation started
2013-10-14T02:33:10.309086+00:00 heroku[api]: Scale to web=1 by EMAIL@email.com
2013-10-14T02:33:10.356490+00:00 heroku[api]: Deploy 9edccd8 by EMAIL@email.com
2013-10-14T02:33:10.375197+00:00 heroku[api]: Release v3 created by EMAIL@email.com
2013-10-14T02:33:10+00:00 heroku[slug-compiler]: Slug compilation finished
2013-10-14T02:33:14.369318+00:00 heroku[web.1]: Starting process with command `gunicorn xxxxx:app`
2013-10-14T02:33:15.336306+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Starting gunicorn 18.0
2013-10-14T02:33:15.337257+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Listening at: http://0.0.0.0:36245 (2)
2013-10-14T02:33:15.337821+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] …Run Code Online (Sandbox Code Playgroud)