Назад | Перейти на главную страницу

нет модуля с именем 'project' в Gunicorn с использованием Django 1.8 и python 3.4

Я развернул с помощью ansible проект с использованием Django 1.8 и python3.4 в папке virtualenv. Для моих проектов, включая настройки и wsgi в папке конфигурации, он работает, с развертыванием все в порядке, и он работает. Для моего проекта, где настройки и wsgi находятся в корневом каталоге проекта, это не так.

Nginx работает нормально. Это пулеметчик с начальником, который царапает no module named 'project' вопрос.

вот макет моего проекта: ├── gunicorn.conf.py ├── gunicorn.log ├── nginx-access.log ├── nginx-error.log └── project ├── contributors.txt ├── __init__.py ├── manage.py ├── rdt_theme ├── README.md ├── requirements.txt ├── settings.py ├── static ├── urls.py └── wsgi.py

Руководитель конф. D:

[program:gunicorn_rdtfront]
command=/opt/.virtualenvs/rdtfront/bin/gunicorn wsgi -c /opt/www/rdtfront/gunicorn.conf.py
directory=/opt/www/rdtfront/project
user=rdtfront
autostart=true
autorestart=true
redirect_stderr=True
stdout_logfile=/opt/www/rdtfront/gunicorn.log
stderr_logfile=/opt/www/rdtfront/gunicorn.log

Мой gunicorn.conf.py:

import multiprocessing

bind = "unix:///tmp/rdtfront.sock"
workers = multiprocessing.cpu_count() * 2 + 1

user = 'rdtfront'

logfile = "/opt/www/rdtfront/gunicorn.log"
loglevel = "info"
pidfile = '/tmp/rdtfront.pid'
daemon = False
debug = False
timeout = 300

И мой wsgi.py:

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

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

Я не могу понять, почему у меня возникает эта проблема. Супервайзер напрасно перезапускает проект.

Ниже вывода ошибки: [2015-06-26 17:06:06 +0200] [451] [INFO] Worker exiting (pid: 451) [2015-06-26 17:06:06 +0200] [452] [ERROR] Exception in worker process: Traceback (most recent call last): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 394, in urlconf_module return self._urlconf_module AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/arbiter.py", line 507, in spawn_worker worker.init_process() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/workers/base.py", line 118, in init_process self.wsgi = self.app.wsgi() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 65, in load return self.load_wsgiapp() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp return util.import_app(self.app_uri) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/util.py", line 355, in import_app __import__(module) File "/opt/www/rdtfront/project/wsgi.py", line 9, in <module> application = get_wsgi_application() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application django.setup() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/apps/registry.py", line 115, in populate app_config.ready() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/apps.py", line 15, in ready dt_settings.patch_all() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/settings.py", line 232, in patch_all patch_root_urlconf() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/settings.py", line 220, in patch_root_urlconf reverse('djdt:render_panel') File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 550, in reverse app_list = resolver.app_dict[ns] File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 352, in app_dict self._populate() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 285, in _populate for pattern in reversed(self.url_patterns): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 402, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 396, in urlconf_module self._urlconf_module = import_module(self.urlconf_name) File "/opt/.virtualenvs/rdtfront/lib/python3.4/importlib/__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: No module named 'project' Traceback (most recent call last): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 394, in urlconf_module return self._urlconf_module AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/arbiter.py", line 507, in spawn_worker worker.init_process() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/workers/base.py", line 118, in init_process self.wsgi = self.app.wsgi() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 65, in load return self.load_wsgiapp() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp return util.import_app(self.app_uri) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/gunicorn/util.py", line 355, in import_app __import__(module) File "/opt/www/rdtfront/project/wsgi.py", line 9, in <module> application = get_wsgi_application() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application django.setup() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/apps/registry.py", line 115, in populate app_config.ready() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/apps.py", line 15, in ready dt_settings.patch_all() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/settings.py", line 232, in patch_all patch_root_urlconf() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/debug_toolbar/settings.py", line 220, in patch_root_urlconf reverse('djdt:render_panel') File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 550, in reverse app_list = resolver.app_dict[ns] File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 352, in app_dict self._populate() File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 285, in _populate for pattern in reversed(self.url_patterns): File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 402, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/opt/.virtualenvs/rdtfront/lib/python3.4/site-packages/django/core/urlresolvers.py", line 396, in urlconf_module self._urlconf_module = import_module(self.urlconf_name) File "/opt/.virtualenvs/rdtfront/lib/python3.4/importlib/__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: No module named 'project' [2015-06-26 17:06:06 +0200] [452] [INFO] Worker exiting (pid: 452) /opt/.virtualenvs/rdtfront/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.