Deploy — это процесс публикации (переноса) программного кода и запуск приложения на remote-сервере.

Heroku — это платформа со своей экосистемой, реализующая возможность публикации приложения в сети интернет.

Виртуальное окружение — это изоляция пакетов и модулей, требуемых для запуска приложения.

Менеджер пакетов — это программное обеспечение, позволяющее установить/удалить/обновить пакет, требуемый для работы приложения.

venv — это Python-пакет, реализующий возможность создания виртуального окружения.

Виртуальное окружение

Как создать виртуальное окружение с помощью модуля venv?

$ python3 -m venv /path/to/project/venv

Как сделать так, чтобы когда вы запускаете pip или Python утилиты использовались из виртуального окружения, а не из операционной системы?

# macOS/Linux
$ source /path/to/project/venv/activate
# Windows
CMD: path\to\venv\Scripts\activate.bat

Менеджер зависимостей

Как установить pip?

# Если Windows и macOS, то сперва проверить, установлен ли
$ pip3 --version
# Установка, если нет
# macOS/Linux
$ curl <https://bootstrap.pypa.io/get-pip.py> | python3 -
# Windows
# Скачать файл через браузер по ссылке <https://bootstrap.pypa.io/get-pip.py>
# и запустить его через Python
CMD: python C:\\get-pip.py

Как установить poetry?

# macOS/Linux
$ curl -sSL \
<https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py> \
| python3 -

# Windows PowerShell
(Invoke-WebRequest -Uri <https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py> -UseBasicParsing).Content | python3 -

# Windows CMD
# Cкачать файл через браузер по ссылке <https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py>
# и запустить его через Python
CMD: python C:\\get-poetry.py

Как установить Flask с помощью pip?

$ pip3 install flask

Как установить Flask с помощью poetry?