Pip已安装的依赖项不适用于应用程序文件

时间:2012-11-16 01:13:54

标签: python heroku flask

我在Heroku上安装依赖项时遇到问题。我有一个我想要部署的Python应用程序,但每次我尝试加载网站时,我都会获得针对flask和sqlalchemy的ImportError。如果我运行,我会得到这些相同的错误:heroku运行python并尝试以交互方式导入模块。我很困惑,似乎无法解决这个问题我希望其他人知道解决方案。相关文件的详细信息如下。

资料:

web: python app.py

requirements.txt:

Flask==0.9
Jinja2==2.6
SQLAlchemy==0.7.9
Werkzeug==0.8.3

app.py:

import os, flask, sqlalchemy
from gateway import server

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))

    server.app.run(host='0.0.0.0', port=port)

编辑:我最后按照Heroku说明逐步重新启动我的应用程序,然后复制所有旧代码。这似乎解决了我的问题所以我的问题似乎是一个奇怪的边缘情况。

2 个答案:

答案 0 :(得分:2)

我认为您的错误可能来自网关导入服务器""。我不清楚这条线路做了什么,当我尝试在我的机器上本地运行时,代码不起作用。

这里有类似的代码,但是我的格式比较熟悉 - 我过去已经成功地将它部署到了Heroku:

import os
from flask import Flask
from flask import render_template

app = Flask (__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

答案 1 :(得分:0)

您可以在本地运行此代码吗?

查看Heroku Flash教程

https://devcenter.heroku.com/articles/python