【发布时间】:2015-05-20 10:07:07
【问题描述】:
我有一些 Python Flask 的经验,但只做过本地开发。我现在正在搞乱 Heroku,试图在网络上获取一些 Flask 项目,但是我什至无法将基本的 HelloWorld Flask 应用程序部署到 Heroku。现在我的问题似乎是它没有正确处理需求。
我的 Procfile 看起来像这样:
web: python hello.py
我的 hello.py 文件如下所示:
import os
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
我有一个从 pip freeze > requirements.txt 生成的更新版本的 requirements.txt,其中包含 Flask,但是当我在工具带命令行中键入 heroku ps 时,它崩溃并在日志中显示:
heroku[web.1]: Starting process with command 'python hello.py'
app[web.1]: ImportError: No module named flask
app[web.1]: Traceback (most recent call last):
app[web.1]: from flask import Flask
heroku[web.1]: State changed from starting to crashed
我不知道如何解决这个似乎是阻止成功部署的错误,当我在线访问应用程序站点时,我显然遇到了应用程序错误,说我的应用程序无法提供服务。
关于为什么需求处理可能无法正常工作的任何想法?
谢谢
编辑:
添加 requirements.txt:
Flask==0.10.1
itsdangerous==0.24
Jinja2==2.7.3
MarkupSafe==0.23
Werkzeug==0.10.1
【问题讨论】:
-
你能发布你的 requirements.txt 吗?
-
@Selcuk 是的,已编辑...
-
有时 Heroku 版本的包和你的不同。您可以尝试从您的 requirements.txt 中删除所有软件包的版本号(即仅
Flask而不是Flask==0.10.1等)吗? -
是的,去掉了所有的包版本,仍然遇到同样的错误,没有名为flask的模块
-
当您运行
heroku logs时,您在部署时看到了什么?是在安装你的依赖吗?