我的 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 上却失败了。使用 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 中找不到模块,而当服务器在本地运行时可以呢?