0

我有一个使用 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 行?)

4

2 回答 2

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
于 2013-03-11T00:08:00.800 回答
1

将 arequirements.txt放在 git repo 的根目录中,并带有所需的依赖项(以 pip/easy-install 格式指定)。

取自Heroku 网站的示例:

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
于 2013-03-11T00:07:19.593 回答