【问题标题】:deploy django-app to heroku - Application error将 django-app 部署到 heroku - 应用程序错误
【发布时间】:2021-09-22 20:08:45
【问题描述】:

我正在尝试将我的 Django 应用程序部署到 Heroku。我正在遵循 Heroku 开发中心https://devcenter.heroku.com/articles/django-app-configuration 上提到的所有步骤。该应用程序部署成功,但是当我运行 heroku open 或手动访问它显示的链接时

应用程序错误 应用程序发生错误,您的页面无法访问 服务。如果您是应用程序所有者,请查看您的日志以获取详细信息。 您可以从 Heroku CLI 使用命令 heroku logs 执行此操作 --尾

我的日志:

2021-07-13T18:26:37.515968+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-07-13T18:26:37.515969+00:00 app[web.1]: self.callable = self.load()
2021-07-13T18:26:37.515969+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-07-13T18:26:37.515970+00:00 app[web.1]: return self.load_wsgiapp()
2021-07-13T18:26:37.515970+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-07-13T18:26:37.515970+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-07-13T18:26:37.515970+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
2021-07-13T18:26:37.515971+00:00 app[web.1]: mod = importlib.import_module(module)
2021-07-13T18:26:37.515971+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
2021-07-13T18:26:37.515972+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-07-13T18:26:37.515972+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:37.515973+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:37.515973+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
2021-07-13T18:26:37.515973+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2021-07-13T18:26:37.515974+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:37.515974+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:37.515974+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
2021-07-13T18:26:37.515975+00:00 app[web.1]: ModuleNotFoundError: No module named 'myproject'        
2021-07-13T18:26:37.516146+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [7] [INFO] Worker exiting (pid: 7)
2021-07-13T18:26:37.520489+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [8] [INFO] Booting worker with pid: 8
2021-07-13T18:26:37.527381+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [8] [ERROR] Exception in worker process
2021-07-13T18:26:37.527382+00:00 app[web.1]: Traceback (most recent call last):
2021-07-13T18:26:37.527383+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
2021-07-13T18:26:37.527383+00:00 app[web.1]: worker.init_process()
2021-07-13T18:26:37.527384+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
2021-07-13T18:26:37.527384+00:00 app[web.1]: self.load_wsgi()
2021-07-13T18:26:37.527385+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2021-07-13T18:26:37.527387+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2021-07-13T18:26:37.527388+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-07-13T18:26:37.527388+00:00 app[web.1]: self.callable = self.load()
2021-07-13T18:26:37.527389+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-07-13T18:26:37.527389+00:00 app[web.1]: return self.load_wsgiapp()
2021-07-13T18:26:37.527389+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-07-13T18:26:37.527390+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-07-13T18:26:37.527390+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
2021-07-13T18:26:37.527391+00:00 app[web.1]: mod = importlib.import_module(module)
2021-07-13T18:26:37.527391+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
2021-07-13T18:26:37.527392+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-07-13T18:26:37.527392+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:37.527392+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:37.527393+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
2021-07-13T18:26:37.527393+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2021-07-13T18:26:37.527394+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:37.527394+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:37.527394+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
2021-07-13T18:26:37.527395+00:00 app[web.1]: ModuleNotFoundError: No module named 'myproject'        
2021-07-13T18:26:37.527519+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [8] [INFO] Worker exiting (pid: 8)
2021-07-13T18:26:37.575136+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [4] [WARNING] Worker with pid 7 was terminated due to signal 15
2021-07-13T18:26:37.677918+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [4] [INFO] Shutting down: Master
2021-07-13T18:26:37.678111+00:00 app[web.1]: [2021-07-13 18:26:37 +0000] [4] [INFO] Reason: Worker failed to boot.
2021-07-13T18:26:37.781026+00:00 heroku[web.1]: Process exited with status 3
2021-07-13T18:26:37.959596+00:00 heroku[web.1]: State changed from starting to crashed
2021-07-13T18:26:37.964944+00:00 heroku[web.1]: State changed from crashed to starting
2021-07-13T18:26:53.000000+00:00 app[api]: Build succeeded
2021-07-13T18:26:55.063317+00:00 heroku[web.1]: Starting process with command `gunicorn myproject.wsgi`
2021-07-13T18:26:59.003109+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [4] [INFO] Starting gunicorn 20.1.0
2021-07-13T18:26:59.003975+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [4] [INFO] Listening at: http://0.0.0.0:50049 (4)
2021-07-13T18:26:59.004155+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [4] [INFO] Using worker: sync
2021-07-13T18:26:59.013689+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [7] [INFO] Booting worker with pid: 7
2021-07-13T18:26:59.020640+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [7] [ERROR] Exception in worker process
2021-07-13T18:26:59.020665+00:00 app[web.1]: Traceback (most recent call last):
2021-07-13T18:26:59.020672+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
2021-07-13T18:26:59.020677+00:00 app[web.1]: worker.init_process()
2021-07-13T18:26:59.020678+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
2021-07-13T18:26:59.020678+00:00 app[web.1]: self.load_wsgi()
2021-07-13T18:26:59.020679+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2021-07-13T18:26:59.020679+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2021-07-13T18:26:59.020684+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-07-13T18:26:59.020685+00:00 app[web.1]: self.callable = self.load()
2021-07-13T18:26:59.020685+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-07-13T18:26:59.020686+00:00 app[web.1]: return self.load_wsgiapp()
2021-07-13T18:26:59.020686+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-07-13T18:26:59.020686+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-07-13T18:26:59.020687+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
2021-07-13T18:26:59.020687+00:00 app[web.1]: mod = importlib.import_module(module)
2021-07-13T18:26:59.020687+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
2021-07-13T18:26:59.020688+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-07-13T18:26:59.020688+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:59.020689+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:59.020689+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
2021-07-13T18:26:59.020690+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2021-07-13T18:26:59.020690+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-07-13T18:26:59.020691+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-07-13T18:26:59.020691+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
2021-07-13T18:26:59.020692+00:00 app[web.1]: ModuleNotFoundError: No module named 'myproject'        
2021-07-13T18:26:59.020997+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [7] [INFO] Worker exiting (pid: 7)
2021-07-13T18:26:59.089336+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [4] [INFO] Shutting down: Master
2021-07-13T18:26:59.089511+00:00 app[web.1]: [2021-07-13 18:26:59 +0000] [4] [INFO] Reason: Worker failed to boot.
2021-07-13T18:26:59.214561+00:00 heroku[web.1]: Process exited with status 3
2021-07-13T18:26:59.325816+00:00 heroku[web.1]: State changed from starting to crashed
2021-07-13T18:27:01.234730+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=heyady.herokuapp.com request_id=a7547546-fb0f-4a00-83ea-619e7128aef1 fwd="169.149.36.45" dyno= connect= service= status=503 bytes= protocol=https
2021-07-13T18:27:01.959325+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=heyady.herokuapp.com request_id=8d35e215-091f-432f-abf1-1a3dae52be5b fwd="169.149.36.45" dyno= connect= service= status=503 bytes= protocol=https
2021-07-13T18:28:08.924235+00:00 app[api]: Starting process with command `python manage.py migrate` by user adyyousf197@gmail.com
2021-07-13T18:28:21.919810+00:00 heroku[run.5856]: State changed from starting to up
7a-acd0aab16891 fwd="169.149.22.37" dyno= connect= service= status=503 bytes= protocol=https
2021-07-13T18:28:36.667998+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" 
host=heyady.herokuapp.com request_id=2896e5e2-150f-4d77-a0c2-ecf77ce4e5a2 fwd="169.149.22.37" dyno= connect= service= status=503 bytes= protocol=https

【问题讨论】:

  • 嗨阿迪!日志显示未找到模块“my_project”。在您的代码导入或引用“my_project”的某些地方,它没有被安装。检查“my_project”是否是您的应用程序的名称,以及是否在 settings.py 的“INSTALLED_APPS”中列出
  • 嘿马塞洛!感谢回复。我确实注意到了这个错误,但我找不到这个模块在哪里。在创建名为 myproject 的 virtualenv 之前,我正在从事另一个项目。我从那里复制了一些模板代码,但我找不到在这个应用程序中引用相同的地方。我检查了我的 installed_apps,但它不存在。
  • 提示是(在您的 IDE 中,我使用 Visual Studio)您在项目的根目录中搜索“myproject”(不带引号),将显示代码中包含“my_project”的所有文件。也许更容易找到。因为有些地方引用了“myproject”。
  • @MarcelloBastos 是的,我也是这样做的,发现我的 Proctile 正在引用它。感谢你的帮助。谢谢

标签: django heroku


【解决方案1】:

所以经过大量研究和阅读 Django 文档、Heroku 文档、StackOverflow 文章后,我发现我一直都做错了,因为我读过类似的文章,人们也有同样的问题。也许这会对你有所帮助:

  1. Procfile 没有扩展名。
  2. 您应该通过虚拟环境进行部署
  3. Procfile 脚本很重要,您需要添加web: gunicorn myproject.wsgi,其中myproject 将替换为您的项目名称。
  4. 确保 Procfile 在您的根目录中,而不是在项目子文件夹中。

【讨论】:

  • 所以错误是代码中某处对“myproject”的引用。很高兴为您提供帮助,阿迪!
猜你喜欢
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 2016-11-16
相关资源
最近更新 更多