Gunicorn Django找不到wsgi模块

时间:2015-06-11 12:55:39

标签: python django deployment gunicorn

我试图用Gunicorn运行Django / Python3应用程序。每个人都同意这很容易,但是部署Web应用程序对我来说似乎非常复杂,已经在Java / Tomcat应用程序上引发了。

所以我安装了Gunicorn:

$ sudo pip3 install gunicorn

我导航到包含./manage.py文件的目录并执行:

$ gunicorn my_project/wsgi:application

我得到一个追溯,其要点是:

ImportError: No module named 'my_project/wsgi'

我的wsgi.py文件与Django生成的文件完全相同,位于my_project/wsgi.py

"""
WSGI config for titlematch_api 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.7/howto/deployment/wsgi/
"""

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

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

我使用的是Python 3,Django 1.8和gunicorn 19.3.0

我能够获得枪支来进行以下测试:

def app(environ, start_response):
    """Simplest possible application object"""
    data = b'Hello, World!\n'
    status = '200 OK'
    response_headers = [
        ('Content-type','text/plain'),
        ('Content-Length', str(len(data)))
    ]
    start_response(status, response_headers)
    return iter([data])

我做错了什么?我曾尝试过无论是否有过虚拟现实。

1 个答案:

答案 0 :(得分:7)

尝试:

gunicorn my_project.wsgi:application

它是一个模块路径,而不是文件系统路径。