可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
when running uwsgi i get the following message:
!!! no internal routing support, rebuild with pcre support !!!
I already have installed pcre (I think) with the following command:
Sudo apt-get install libpcre3 libpcre3-dev
My question is: Why am I still getting this message even after I have installed the pcre package and if I need to reinstall uwsgi and activate pcre how do I do it?
Also, does internal routing matter? I assume it does or else the makers of uwsgi wouldn't have made the message come up. I am running Ubuntu 12.04 LTS
.
Thanks for the help!
回答1:
pip install uwsgi -I
Won't recompile the uwsgi binary, it just reinstalls the python egg. You need to rebuild the uwsgi binary with the pcre libraries.
sudo apt-get install libpcre3 libpcre3-dev
I think the easiest way is just to uninstall uwsgi and then run the pip installer again.
pip uninstall uwsgi sudo apt-get remove uwsgi
then
pip install uwsgi
you should see pip run the setup.py script and a bunch of compiler messages. The last message should show you something like this:
################# 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 #############
notice how pcre = true now
回答2:
pip install uwsgi -I --no-cache-dir
It reinstalls (-I
) as @leech said, but ignores the compiled cache (--no-cache-dir
) and recompiles the thing with the new libs.
回答3:
pip uninstall uwsgi sudo apt-get install libpcre3 libpcre3-dev pip install uwsgi
I solved it with the above commands.
回答4:
Did you try:
pip install uwsgi -I
The -I
flag will force it to reinstall
回答5:
If you have tried all above but it is still have the same error and with the below ones, please check your command parameters, particular the --http-socket /path/to/your.sock. That is the path = '/path/to' must be existed
thunder lock: disabled (you can enable it with --thunder-lock) bind(): No such file or directory [core/socket.c line 230]