ModuleNotFoundError: 没有名为“wsgi”的模块

kil*_*ale 5 django heroku procfile

我打算使用 Heroku 托管它。但由于配置文件的问题,它不起作用。

这是我的 Procfile

-> web: gunicorn wsgi:app
Run Code Online (Sandbox Code Playgroud)

我试过这些东西。

->web : gunicorn wsgi.py
->web : gunicorn <myproject>.wsgi --log-file-
Run Code Online (Sandbox Code Playgroud)

我的 wsgi.py 代码

"""
WSGI config for config project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

application = get_wsgi_application()


from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)
Run Code Online (Sandbox Code Playgroud)

这是我的 Heroku 日志

使用命令gunicorn wsgi:app 2019-09-13T06:06:27.409894+00:00 heroku[web.1]启动进程:状态从开始变为崩溃 2019-09-13T06:06:27.388714+00:00 heroku[web.1]:进程退出状态 3 2019-09-13T06:06:27.176179+00:00 app[web.1]: [2019-09-13 06:06:27 +0000] [4] [INFO] 启动 gunicorn 19.9.0 2019-09-13T06:06:27.177866+00:00 app[web.1]: [2019-09-13 06:06:27 +0000] [4] [INFO] 收听: http://0.0.0.0 :56276(4) 2019-09-13T06:06:27.177959+00:00 app[web.1]: [2019-09-13 06:06:27 +0000] [4] [INFO] 使用工人:同步 2019-09 -13T06:06:27.181907+00:00 app[web.1]: [2019-09-13 06:06:27 +0000] [10] [INFO] 使用 pid 启动 worker:10 2019-09-13T06:06 :27.187052+00:00 app[web.1]: [2019-09-13 06:06:27 +0000] [11] [INFO] 使用 pid 启动 worker:11 2019-09-13T06:06:27.107674+0 :00 app[web.1]: [2019-09-13 06:06:27 +0000] [10] [ERROR] 工作进程异常 2019-09-13T06:06:27.187678+00:00 app[web. 1]:回溯(最近一次通话):2019-09-13T06:06:27.187680+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages /gunicorn/arbiter.py”,第 583 行,在 spawn_worker 2019-09-13T06:06:27.187682+00:00 app[web.1]: worker.init_process() 2019-09-13T06:06:27.18076:88 00 app[web.1]: 文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 129, in init_process 2019-09-13T06:06:27.187686+00:00 app[web.1]: self. load_wsgi() 2019-09-13T06:06:27.187688+00:00 app[web.1]: 文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py ",第 138 行,在 load_wsgi 2019-09-13T06:06:27.187690+00:00 app[web.1]: self.wsgi = self.app.wsgi() 2019-09-13T06:06:27.187692+00:00 00 app[web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/base.py”,第67行,在wsgi 2019-09-13T06:06: 27.187694+00:00 app[web.1]: self.callable = self.load() 2019-09-13T06:06:27.187696+00:00 app[web.1]: File "/app/.heroku/python /lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load 2019-09-13T06:06:27.187698+00:00 app[web.1]: return self.load_wsgiapp() 2019-09-13T06:06:27.187700+00:00 app[web.1]: 文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py ",第 41 行,在 load_wsgiapp 2019-09-13T06:06:27.187702+00:00 app[web.1]: 返回 util.import_app(self.app_uri) 2019-09-13T06:06:27.1077004+004 [web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py”,第350行,在import_app 2019-09-13T06:06:27.187706+00: 00 应用程序[web.1]:第 350 行,在 import_app 2019-09-13T06:06:27.187706+00:00 app[web.1] 中:第 350 行,在 import_app 2019-09-13T06:06:27.187706+00:00 app[web.1] 中: 进口(module) 2019-09-13T06:06:27.187708+00:00 app[web.1]: ModuleNotFoundError: No module named 'wsgi' 2019-09-13T06:06:27.187851+00:00 app[web.1] : [2019-09-13 06:06:27 +0000] [10] [INFO] 工人退出 (pid: 10) 2019-09-13T06:06:27.193919+00:00 app[web.1]: [2019] -09-13 06:06:27 +0000] [11] [ERROR] 工作进程中的异常 2019-09-13T06:06:27.193924+00:00 app[web.1]:回溯(最近一次调用): 2019-09-13T06:06:27.193926+00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/arbiter.py”,第583行,在 spawn_worker 2019-09-13T06:06:27.193928+00:00 app[web.1]: worker.init_process() 2019-09-13T06:06:27.193930+00:00 app[web.1]:文件“/ app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 129, in init_process 2019-09-13T06:06:27.193932+00:00 app[web.1] :self.load_wsgi() 2019-09-13T06:06:27.193934+00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base .py”,第 138 行,在 load_wsgi 2019-09-13T06:06:27.193936+00:00 app[web.1]: self.wsgi = self.app.wsgi() 2019-09-13T06:06:27.19399 00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/base.py”,第67行,在wsgi 2019-09-13T06: 06:27.193941+00:00 app[web.1]: self.callable = self.load() 2019-09-13T06:06:27.193943+00:00 app[web.1]: File "/app/.heroku /python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load 2019-09-13T06:06:27.193945+00:00 app[web.1]: return self. load_wsgiapp() 2019-09-13T06:06:27.193947+00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py ”,第 41 行,在 load_wsgiapp 2019-09-13T06:06:27.193949+00:00 app[web.1]: 返回 util.import_app(self.app_uri) 2019-09-13T06:06:27.1939501+00: .1]:文件“/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py”,第350行,在import_app 2019-09-13T06:06:27.193953+00:00 app [web.1]: 导入(模块)2019-09-13T06:06:27.193955+00:00 app[web.1]: ModuleNotFoundError: 没有名为“wsgi”的模块 2019-09-13T06:06:27.194099+00:00 app[web.1] ]: [2019-09-13 06:06:27 +0000] [11] [INFO] 工人退出 (pid: 11) 2019-09-13T06:06:27.321586+00:00 app[web.1]: [ 2019-09-13 06:06:27 +0000] [4] [INFO] 关闭:Master 2019-09-13T06:06:27.321719+00:00 app[web.1]: [2019-09-13 06 :06:27 +0000] [4] [INFO] 原因:Worker 无法启动。

Chr*_*ris 8

web: gunicorn wsgi:app
Run Code Online (Sandbox Code Playgroud)

这几乎肯定是不正确的。

传递的参数gunicorn告诉它应用程序的入口点在哪里。它匹配您的 Python 模块路径。通常,这将是wsgi.py在您的项目目录中调用的文件:

myproject/
    wsgi.py
Run Code Online (Sandbox Code Playgroud)

因此Procfile应该包含

web: gunicorn myproject.wsgi
Run Code Online (Sandbox Code Playgroud)

确保完全遵循此格式。web和之间不应该有空格:


Ash*_*ish -3

您必须在根目录中创建一个 procfile.txt 并在那里提供您的 wsgi 文件路径。as- web: Gunicorn config.wsgi