【发布时间】:2018-03-08 00:55:56
【问题描述】:
我正在关注this 教程,直到这一部分。
start.sh
#!/bin/bash
# Start Gunicorn processes
echo Starting Gunicorn.
exec gunicorn helloworld.wsgi:application \
--bind 0.0.0.0:8000 \
--workers 3
我的目录是这样的。
awesome_app
-awesome_app
--__init__.py
--celery.py
--settings.py
--urls.py
--wsgi.py
-awesome_app_to_do_list
--a lot of stuffs here
-manage.py
-start.sh
这是我的 wsgi.py 的内容。
"""
WSGI config for airport 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/1.11/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "awesome_app.settings")
application = get_wsgi_application()
我根据这个调整了启动代码。
#!/bin/bash
# Start Gunicorn processes
echo starting gunicorn
exec gunicorn awesome_app.wsgi:application \
--bind 0.0.0.0:8080 \
--workers 3
在我使其可执行并从项目 awesome_app 的根目录而不是从 awesome_app/awesome_app 运行脚本之后。我收到了这个错误,ImportError: No module named 'myproject'。我看过this SO 讨论,但错误仍然存在。我该怎么办?
【问题讨论】:
-
你在哪里导入
myproject? -
wsgi 文件中的
airport、启动脚本中的awesome_app和错误消息中的myproject不匹配。 -
@Oluwafemi Sule,我不知道。 Python + Gunicorn 教程中到处都在说。
-
@Alasdair,它应该是
awesome_app对不起,来自错误的项目。