0

runapp.py で実行すると、ローカルで正常に動作する shortuuid ( https://pypi.python.org/pypi/shortuuid/0.1 ) を使用するアプリがあります。

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 にこのインストールがないことが問題の原因であるとしか結論付けられません。

development.ini コードを production.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

requirements.txtgit リポジトリのルート ディレクトリに、必要な依存関係 (pip/easy-install 形式で指定) を配置します。

Heroku Web サイトからの例:

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 に答える