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