¿Lanzar una aplicación en heroku? ¿Qué es procfile? ‘web:’ comando?

Me refería a este sitio ya que estoy aprendiendo python / flask y tratando de usar heroku.

http://ryaneshea.com/lightweight-python-apps-with-flask-twitter-bootstrap-and-heroku

Permítanme explicarles todo lo que hice, para que cualquiera que esté atrapado como yo pueda hacerse una idea. Estoy usando la línea de comando Backtrack de Linux. 1. Comencé virtualenv y luego instalé flask virtualenv –distribute pip install flask

Entonces, conectado heroku y github, creó un repo también en el github. Escribió un script simple y lo guardó en app.py

Entonces, pidió crear un procfile! web: python app.py

Preguntas 1. ¿Qué es procfile en términos sencillos? 2. Cuando escribo web: python app.py, dice ‘web :: command not found’

Por favor, ¿cómo funciona esto?

Tengo una duda más, sudo es usuario supremo ¿verdad? ¿No debemos usarlo en virtualenv? ¿Y para qué estamos usando virtualenv? Un ejemplo simple.

Las preguntas son bastante básicas. Hacer desnudo

el archivo Procfile le dice a Heroku qué comandos deben ejecutarse ( https://devcenter.heroku.com/articles/procfile ).

Puede definir los tipos de proceso de diferencia, como web (el único que se iniciará automáticamente por defecto), los trabajadores, etc.

Así que básicamente un Procfile que contiene

web: python app.py 

le está diciendo a Heroku que inicie un proceso llamado web y que ejecute python app.py cuando se inicie.

Hay documentación específica de Python para Heroku en https://devcenter.heroku.com/articles/getting-started-with-python#declare-process-types-with-procfile