Django Gunicorn没有名为error的模块

Django Gunicorn没有名为error的模块,django,gunicorn,Django,Gunicorn,我的项目目录结构如下所示: export PYTHONPATH=/home/ec2-user/amm_inovision_backend:$PYTHONPATH 我的wsgi文件: import os from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") application = get_wsgi_application

我的项目目录结构如下所示:

export PYTHONPATH=/home/ec2-user/amm_inovision_backend:$PYTHONPATH

我的wsgi文件:

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

application = get_wsgi_application()
和我的manage.py文件:

import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError:
        # The above import may fail for some other reason. Ensure that the
        # issue is really that Django is missing to avoid masking other
        # exceptions on Python 2.
        try:
            import django
        except ImportError:
            raise ImportError(
                "Couldn't import Django. Are you sure it's installed and "
                "available on your PYTHONPATH environment variable? Did you "
                "forget to activate a virtual environment?"
            )
        raise
    execute_from_command_line(sys.argv)
在my settings.py中,我有:

WSGI_APPLICATION = 'config.wsgi.application'
我使用以下内容将我的项目路径添加到python中:

export PYTHONPATH=/home/ec2-user/amm_inovision_backend:$PYTHONPATH
我正在尝试运行gunicorn命令,其中manage.py文件为:
gunicorn amm\u inovision\u backend.config.wsgi:application

但它不会向我抛出任何名为amm_inovision_backend.config.wsgi的模块错误

如果我改为运行
gunicorn config.wsgi:application
它不会抛出名为amm\u inovision\u backend.config.settings的模块

我做错了什么


注意:在屏幕截图中它是amm_ino_后端,但实际上它是生产中的amm_inovision_后端

当您要使用gunicorn时,必须运行安装在虚拟环境中的gunicorn。
因此,您不需要导出任何python路径,只需要在安装Django的虚拟环境中找到gunicorn的路径,或者您可以将路径添加到虚拟环境,而不是项目文件。
您还需要首先编辑您的
wsgi.py

您必须更换此

os.environ.setdefault(“DJANGO\u设置\u模块”、“设置”)
with

os.environ.setdefault(“DJANGO\u设置\u模块”、“config.SETTINGS”)

您的命令必须是这样的:

/path/to/.virtual envs/your env/bin/gunicorn config.wsgi:application
要使用gunicorn,必须运行虚拟环境中安装的gunicorn。
因此,您不需要导出任何python路径,只需要在安装Django的虚拟环境中找到gunicorn的路径,或者您可以将路径添加到虚拟环境,而不是项目文件。
您还需要首先编辑您的
wsgi.py

您必须更换此

os.environ.setdefault(“DJANGO\u设置\u模块”、“设置”)
with

os.environ.setdefault(“DJANGO\u设置\u模块”、“config.SETTINGS”)

您的命令必须是这样的:
/path/to/.virtual envs/your env/bin/gunicorn config.wsgi:application
使用:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
application = get_wsgi_application()
注意“配置设置”使用:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
application = get_wsgi_application()

注意“CONFIG.SETTINGS”

我在本地使用virtual env,但我还没有在生产中创建,我只是克隆了repo,并从requirements.txt安装了pip,我的应用程序基本上启动了。这可能是个问题吗?即使您正在生产中,也最好使用virtual env以避免任何冲突问题,但是您可以不使用virtual env,但您不需要导出PYTHONPATH,请将其删除并运行
gunicorn配置。wsgi:application
@Nitish此答案与您标记的答案不一样吗!,几分钟后我回复了你,不是一天之后,你的观点是什么?谢谢@NitishWell我正在本地使用virtual env,但我还没有在生产中创建,我只是克隆了repo,并从requirements.txt安装了pip,我的应用程序基本上启动了。这可能是个问题吗?即使您正在生产中,也最好使用virtual env以避免任何冲突问题,但是您可以不使用virtual env,但您不需要导出PYTHONPATH,请将其删除并运行
gunicorn配置。wsgi:application
@Nitish此答案与您标记的答案不一样吗!,我几分钟后就回复了你,不是一天之后,你的观点是什么?谢谢你@Nitish