簡體   English   中英

如何在heroku應用程序上安裝軟件包?

[英]How can I install packages on my heroku app?

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

我通常會創建一個包含軟件包的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

放置requirements.txt在你的git倉庫的根目錄下,你需要的依賴關系(在PIP /易安裝格式指定)。

來自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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM