The Python language is officially supported on the platform.


To ensure our deployment system considers your application as a Python application, a file Pipfile, requirements.txt or should be present at the root of your project, defining the dependencies of your app.


Supported Versions

  • 3.11.4 (default)
  • 3.10.12
  • 3.9.17
  • 3.8.17 (only for scalingo-20 stack)

The preferred way to manage dependencies and python version is by using the pipenv tool. When creating a project with pipenv, the Python version is frozen in the Pipfile file, i.e.:

python_version = "3.10"

The deployment system will use this information to install the last available version respecting this constraint. In the previous example Python 3.10.12 would be installed.

The python_version field only accepts minor versions of Python like 3.10 or 3.9. If the project needs to use a specific Python patch (i.e.: 3.10.1) the Pipfile should contain a python_full_version field, e.g.:

python_full_version = "3.10.1"

Legacy: runtime.txt

Python 2 and Python 3 are both completely supported, you can specify the runtime version in the runtime.txt file at the root of your repository.

Example of runtime.txt which would install Python 3.7.5:



When the project is using pipenv and contains a Pipfile and a Pipfile.lock files, the following command is used to install dependencies:

pipenv install

Legacy: requirements.txt

If a requirements.txt file is present in your application, the dependencies will be installed respecting this file with:

pip install -r requirements.txt


We handle most of the common frameworks. Obviously, Django is among them. You need to configure your application to bind the port defined by the environment variable $PORT.

Specific Python Buildpack Hooks

You may want to trigger custom actions after a successful deployment. The postdeploy hook is exactly what you need. But your application may require some actions to be executed during the deployment.

The Python buildpack can execute two hooks: before and after the installation of Python and its dependencies. They must be located in the bin root folder of your application and be named pre_compile and post_compile.


More information at

Suggest edits


©2023 Scalingo