我有一个使用shortuuid(https://pypi.python.org/pypi/shortuuid/0.1)的应用程序,当我使用runapp.py运行它时,本地工作正常:
import os
from paste.deploy import loadapp
from waitress import serve
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app = loadapp('config:production.ini', relative_to='.')
serve(app, host='0.0.0.0', port=port)
但是,当我尝试使用../bin/pserve development.ini运行它时,它不起作用。我收到错误:导入错误:没有名为shortuuid的模块。当我把它推到heroku时,我得到了同样的错误。我已经在运行我的应用程序的虚拟环境中安装了shortuuid,并且只能断定在heroku上没有这个安装是什么导致了问题。
我已经尝试用production.ini代码替换development.ini代码但它仍然不起作用所以我假设它的东西(也许是runapp.py上的import os行?)
答案 0 :(得分:3)
我通常创建一个包含软件包的requirements.txt
文件:
Flask==0.9
Jinja2==2.6
Werkzeug==0.8.3
distribute==0.6.27
wsgiref==0.1.2
Flask-Cache==0.10.0
gunicorn==0.17.2
您可以使用pip
创建该文件:
$ pip freeze > requirements.txt
答案 1 :(得分:1)
将requirements.txt
放在git仓库的根目录中,并附上所需的依赖项(以pip / easy-install格式指定)。
Flask==0.8
Jinja2==2.6
Werkzeug==0.8.3
certifi==0.0.8
chardet==1.0.1
distribute==0.6.24
gunicorn==0.14.2
requests==0.11.1