web-dev-qa-db-fra.com

reconstruire uwsgi avec support pcre

lorsque j'exécute uwsgi, le message suivant s'affiche:

!!! no internal routing support, rebuild with pcre support !!!

J'ai déjà installé pcre (je pense) avec la commande suivante: 

Sudo apt-get install libpcre3 libpcre3-dev

Ma question est la suivante: pourquoi ce message persiste-t-il même après l'installation du paquet pcre et si j'ai besoin de réinstaller uwsgi et d'activer pcre, comment le faire? 

Aussi, le routage interne est-il important? Je suppose que oui, sinon les fabricants d’Uwsgi n’auraient pas fait passer le message. Je cours Ubuntu 12.04 LTS

Merci pour l'aide!

63
johnmic07
pip install uwsgi -I

Ne recompilera pas le binaire uwsgi, il réinstalle simplement l'oeuf en python. Vous devez reconstruire le binaire uwsgi avec les bibliothèques pcre.

Sudo apt-get install libpcre3 libpcre3-dev

Je pense que le moyen le plus simple consiste simplement à désinstaller uwsgi, puis à relancer le programme d'installation pip.

pip uninstall uwsgi
Sudo apt-get remove uwsgi

puis

pip install uwsgi

vous devriez voir pip exécuter le script setup.py et une série de messages du compilateur. Le dernier message devrait vous montrer quelque chose comme ceci:

################# 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 #############

remarquez comment pcre = true maintenant

91
user1046783

pip install uwsgi -I --no-cache-dir

Il réinstalle (-I) comme @leech l'a dit, mais ignore le cache compilé (--no-cache-dir) et recompile l'élément avec les nouvelles bibliothèques.

52
alanjds
pip uninstall uwsgi

Sudo apt-get install libpcre3 libpcre3-dev

pip install uwsgi

Je l'ai résolu avec les commandes ci-dessus.

7
Zhu Xiaohu

As-tu essayé:

pip install uwsgi -I 

Le drapeau -I le forcera à réinstaller

3
leech

Si vous avez essayé tout ce qui précède mais que vous rencontrez toujours la même erreur, veuillez vérifier les paramètres de votre commande, en particulier le --http-socket /path/to/votre.sock. C’est le chemin = '/ chemin/à' doit exister

thunder lock: disabled (you can enable it with --thunder-lock)
bind(): No such file or directory [core/socket.c line 230]
0
Dat TT

Pour compléter la réponse de @alanjds, voici la procédure à suivre pour ajouter une prise en charge PCRE à votre uWSGI déjà installé.

Sudo apt-get install libpcre3 libpcre3-dev
pip install uwsgi -I --no-cache-dir

Vous n'avez pas besoin de désinstaller uWSGI

0
diveinsky