2016-11-28 7 views
1

У меня есть существующее приложение Django, работающее локально на моем MacBook. Это структура каталогов выглядит примерно так:Как запустить приложение Django с веб-сервером Gunicorn/WSGI?

myproject/ 
    mySite/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 
    myApp1/ 
     __init__.py 
     models.py 
     views.py 
    manage.py 
    requirements.txt 

До сих пор я не использовал игрушечный веб-сервер Django запустить мое приложение: ./manage.py runserver 0.0.0.0:8000. Но теперь я хочу вместо этого использовать пушки. Поэтому я следую инструкциям here.

сделаю source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi. Я получаю следующее сообщение об ошибке:

File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "myproject/MyApp2/models.py", line 11, in <module> 
    from caching.base import CachingManager, CachingMixin 
ImportError: No module named caching.base 

Когда я бег ./manage.py runserver 0.0.0.0:8000 из тех же мест он работает прекрасно.

Почему? Я делаю что-то неправильно? Неужели Django-Cache-Machine не работает с Gunicorn/WSGI? Как обойти эту проблему?

+0

Как вы установили оружие? –

ответ

1

У вас, похоже, установлен арьергард глобально, а не внутри virtualenv, поэтому исполняемый файл указывает на глобальный Python и его каталог сайтов-пакетов, а не на виртуальный. Переустановите пушечный огонь на месте.

2

Чтобы запустить свой проект с помощью gunicorn, попробуйте следующее:

  1. активировать ваш virtualenv
  2. перейти в каталог вашего проекта
  3. запустить gunicorn mySite.wsgi:application --bind 127.0.0.1:8000

Если команды работают нормально, чем мой ты настроен. В противном случае попробуйте следующий учебник. Я всегда использую этот учебник самостоятельно, создавая новый проект для производства. Попробуй. Setting up Django with Nginx, Gunicorn and Supervisor

+0

Спасибо. В VirtualEnv не должно быть проблем. Вы можете видеть здесь, что в той же самой директории и virtualenv игрушечный веб-сервер Django работает, но убойник не работает: https://gist.github.com/saqib-zmi/58189c46aa1feff0f90ae5ef718f8d05 –