Я создал приложение с Flask , которое работает на http://127.0.0.1:5000
, и теперь я хочу развернуть его на Heroku .
Поскольку Heroku нужна requirements.txt
со списком зависимостей, я создал его:
pip freeze > requirements.txt
И я перенес свое репо на серверы Heroku:
git push heroku master
К сожалению, это происходит:
Total 204 (delta 89), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.7
remote: -----> Installing pip
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
(...)
remote: Collecting mkl-random==1.0.2 (from -r /tmp/build_07f37470cd63eabf531455b3764398ac/requirements.txt (line 27))
remote: Could not find a version that satisfies the requirement mkl-random==1.0.2 (from -r /tmp/build_07f37470cd63eabf531455b3764398ac/requirements.txt (line 27)) (from versions: 1.0.0.8, 1.0.1, 1.0.1.1)
remote: No matching distribution found for mkl-random==1.0.2 (from -r /tmp/build_07f37470cd63eabf531455b3764398ac/requirements.txt (line 27))
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
(...)
Странно ... Новейшего дистрибутива для mkl
нет?Я посмотрел в своей IDE, и она тут же:
Может быть, Heroku использует какой-то старый список дистрибутивов?Я попытался вручную изменить версию в requirements.txt
на немного более низкую, и она работает ... но она быстрая и грязная - не только мне не нравятся такие решения, но это может иметь плохие последствия.
Как я могу заставить Heroku собирать дистрибутивы, которые я использую в своем проекте?