¿Cómo puedo instalar paquetes en mi aplicación heroku?

Tengo una aplicación que hace uso de shortuuid ( https://pypi.python.org/pypi/shortuuid/0.1 ) que funciona bien localmente cuando lo ejecuto con 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) 

Sin embargo, no funciona cuando lo bash y lo ejecuto con ../bin/pserve development.ini. Me sale el error: error de importación: no hay un módulo llamado shortuuid. Cuando lo empujo a Heroku me sale el mismo error. He instalado shortuuid en mi entorno virtual donde se ejecuta mi aplicación y solo puedo concluir que la ausencia de esta instalación en heroku es lo que está causando el problema.

He intentado reemplazar el código de development.ini con el código de production.ini y aún no funciona, así que asumo que es otra cosa (¿quizás la línea del sistema operativo de importación en runapp.py?)

Generalmente creo un archivo Requirements.txt que contiene los paquetes:

 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 

Puedes crear ese archivo con pip :

 $ pip freeze > requirements.txt 

Coloque un requirements.txt en el directorio raíz de su repository git, con sus dependencias requeridas (especificadas en formato pip / easy-install).

Ejemplo tomado del sitio web de 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