Вы только что закончили обучение своих моделей машинного обучения с различными версиями пакетов и ищете способы развернуть их в производственной среде.

Что ж, ваш квест заканчивается здесь!

Для упаковки зависимостей и выполнения следующих шагов сборки потребуются три файла: ваш main.py, содержащий функцию драйвера вашего кода, Pipfile, содержащий зависимости для вашего virtualenv, и make-файл:

  1. main.py
def main():
      run_my_model() 
if __name__ == "__main__":
      main()

2. Пип-файл

[[source]]
url = 'https://pypi.python.org/simple'
verify_ssl = true
name = 'pypi'
[requires]
python_version = '2.7'
[common-packages]
scipy >= "0.17.0"
pandas 
[model1-packages]
numpy >= "1.11.0"
[model2-packages]
numpy == "1.0.0"

3. Makefile

.DEFAULT_GOAL := run
init:
    pipenv --three install
    pipenv shell
analyze:
    flake8 ./src
run_tests:
    pytest --cov=src test/jobs/
run:
    # cleanup
    find . -name '__pycache__' | xargs rm -rf
    # run the job
    python main.py

После того, как вы настроите эти 3 файла для своего варианта использования, процесс можно выполнить с помощью следующей команды:

make run

Понравилась эта история, а затем ознакомьтесь с исходным ответом на StackOverflow.