0

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

4

1 回答 1

0

是的,看起来答案很简单:云服务器使用linux,所以*.so文件,并且不识别*.pyd,它们是在windows中诞生的

于 2020-06-06T18:35:17.350 回答