Подтвердить что ты не робот

Uwsgi: непризнанная опция '--module = MyProject.wsgi: application'

Я выполнил инструкции в https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/, и он работал нормально до нескольких дней назад, когда я убил uwsgi-процессы и попытался снова перезапустите. Затем он сказал

uwsgi: unrecognized option '--module=MyProject.wsgi:application'

Я ударился головой, пытаясь решить эту проблему... Я проверил историю фиксации и script, который я использовал для запуска uwsgi, не изменился:

#!/bin/bash
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
uwsgi --chdir=/home/MyProject \
    --module=MyProject.wsgi:application \
    --env DJANGO_SETTINGS_MODULE=MyProject.settings \
    --master --pidfile=/tmp/MyProject-masted.pid \
    --socket=/home/MyProject.sock \
    --processes=5 \
    --harakiri=20 \
    --limit-as=128 \
    --max-requests=5000 \
    --vacuum \
    --home=/home/MyProject/env \
    --daemonize=/var/log/uwsgi/MyProject.log

Очевидно, что-то должно было измениться, но я не могу понять, что... Я не запускал никакого обновления, script не менял... PLEaSe HeLp!!!

4b9b3361

Ответ 1

Я столкнулся с этим недавно, когда попытался использовать версию uWSGI в репозитории Unbuntu 12.04 (1.0.3). Похоже, эта версия немного устарела. Просто используйте pip, чтобы схватить его (1.2.5).

pip install uwsgi

Ответ 2

Вероятно, вам нужно добавить параметр --plugins в свою командную строку, чтобы использовать установленную систему uwsgi. На Fedora 17, по крайней мере, это необходимо для меня:

$ uwsgi --http 127.0.0.1:8000 --module=wsgiref.simple_server:demo_app
uwsgi: unrecognized option '--module=wsgiref.simple_server:demo_app'
getopt_long() error
$

но это работает:

$ uwsgi --http 127.0.0.1:8000 --plugins python --module=wsgiref.simple_server:demo_app
*** Starting uWSGI 1.2.4 (64bit) on [Thu Aug 30 14:09:57 2012] ***
[.. snip]