Перестроить uwsgi с поддержкой pcre
при запуске uwsgi я получаю следующее сообщение:
!!! no internal routing support, rebuild with pcre support !!!
Я уже установил pcre (я думаю) со следующей командой:
Sudo apt-get install libpcre3 libpcre3-dev
Мой вопрос: почему я все еще получаю это сообщение даже после того, как я установил пакет pcre, и если мне нужно переустановить uwsgi и активировать pcre, как мне это сделать?
Кроме того, существует ли внутренняя маршрутизация? Я предполагаю, что это так или иначе создатели uwsgi не заставили бы сообщение придумать. Я бегу Ubuntu 12.04 LTS
.
Спасибо за помощь!
Ответы
Ответ 1
pip install uwsgi -I
Не перекомпилирует двоичный файл uwsgi, он просто переустанавливает яйцо python. Вам нужно перестроить двоичный файл uwsgi с библиотеками pcre.
sudo apt-get install libpcre3 libpcre3-dev
Я думаю, что самый простой способ - просто удалить uwsgi, а затем снова запустить программу установки.
pip uninstall uwsgi
sudo apt-get remove uwsgi
затем
pip install uwsgi
вы должны увидеть, что pip запустил setup.py script и кучу сообщений компилятора. Последнее сообщение должно показать вам следующее:
################# uWSGI configuration #################
pcre = True
kernel = Linux
malloc = libc
execinfo = False
ifaddrs = True
ssl = True
zlib = True
locking = pthread_mutex
plugin_dir = .
timer = timerfd
yaml = embedded
json = False
filemonitor = inotify
routing = True
debug = False
capabilities = False
xml = libxml2
event = epoll
############## end of uWSGI configuration #############
сообщите, как pcre = true сейчас
Ответ 2
pip install uwsgi -I --no-cache-dir
Он переустанавливает (-I
), как сказал @leech, но игнорирует скомпилированный кеш (--no-cache-dir
) и перекомпилирует вещь с новыми библиотеками.
Ответ 3
pip uninstall uwsgi
sudo apt-get install libpcre3 libpcre3-dev
pip install uwsgi
Я решил это с помощью приведенных выше команд.
Ответ 4
Вы пытались:
pip install uwsgi -I
Флаг -I
заставит его переустановить
Ответ 5
Если вы пробовали все выше, но все равно должны иметь одинаковую ошибку и с приведенными ниже, проверьте свои параметры команды, в частности --http-socket/path/to/your.sock. Это путь = '/path/to' должен существовать
thunder lock: disabled (you can enable it with --thunder-lock)
bind(): No such file or directory [core/socket.c line 230]