Heroku не может найти локальный файл pyd как модуль, в чем может быть причина?

Приложение My Flask использует функцию из файла pyd, который находится в той же папке, и на локальном сервере все работает нормально. Однако, как только я загружаю все в Heroku, приложение вылетает, и журналы Heroku выдают:

2020-06-05T20:23:42.103623+00:00 app[web.1]: File "/app/app.py", line 13, in <module>
2020-06-05T20:23:42.103623+00:00 app[web.1]: from quaternion_calculation import quaternion_calculation
2020-06-05T20:23:42.103624+00:00 app[web.1]: ModuleNotFoundError: No module named 'quaternion_calculation'
2020-06-05T20:23:42.103901+00:00 app[web.1]: [2020-06-05 20:23:42 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-06-05T20:23:42.304170+00:00 app[web.1]: [2020-06-05 20:23:42 +0000] [4] [INFO] Shutting down: Master
2020-06-05T20:23:42.304244+00:00 app[web.1]: [2020-06-05 20:23:42 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-06-05T20:23:42.387177+00:00 heroku[web.1]: Process exited with status 3
2020-06-05T20:23:42.427398+00:00 heroku[web.1]: State changed from up to crashed

Я потратил на это много часов и изо всех сил пытался понять, как это работает локально, но не работает на Heroku. Используя героку, запустите bash / ls:

    app.py  data.json  geolocator  hangman  lib  
Procfile  __pycache__  Q  quaternion_calculation.pyd  requirements.txt  
runtime.txt  static  steps.txt  templates

Я вижу там этот pyd-файл, так почему импорт не удается, а модуль не найден в Heroku, в то время как сервер работает локально?


person Community    schedule 05.06.2020    source источник


Ответы (1)


Да, кажется, ответ очень прост: облачный сервер использует Linux, поэтому файлы *.so и не распознают *.pyd, которые рождаются в Windows.

person Community    schedule 06.06.2020