Recommended web frameworks include Django and Flask. The recommended webserver is Gunicorn. There are no restrictions around what software can be used (as long as it's pip-installable). Web processes must bind to
$PORT, and only the HTTP protocol is permitted for incoming connections.
Some Python packages with obscure C dependencies are not compatible.
Deploying a Python application couldn't be easier:
$ ls Pipfile Procfile web.py $ heroku create --buildpack heroku/python $ git push heroku master … -----> Python app detected -----> Installing python-3.6.3 -----> Installing pip -----> Installing requirements with latest pipenv… ... Installing dependencies from Pipfile… -----> Discovering process types Procfile declares types -> (none)
requirements.txt must be present at the root of your application's repository.
You can also specify the latest production release of this buildpack for upcoming builds of an existing application:
$ heroku buildpacks:set heroku/python
Specific versions of the Python runtime can be specified with a
$ cat runtime.txt python-2.7.14
Or, with a
Pipfile.lock (generated from the following
[requires] python_version = "2.7"
Or, more specifically:
[requires] python_full_version = "2.7.14"
Runtime options include:
Copy the snippet above into CLI.