web-dev-qa-db-ja.com

pcreサポートでuwsgiを再構築

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

助けてくれてありがとう!

65
johnmic07
pip install uwsgi -I

Uwsgiバイナリを再コンパイルせずに、python Eggを再インストールします。pcreライブラリでuwsgiバイナリを再構築する必要があります。

Sudo apt-get install libpcre3 libpcre3-dev

最も簡単な方法は、uwsgiをアンインストールしてから、pipインストーラーを再度実行することだと思います。

pip uninstall uwsgi
Sudo apt-get remove uwsgi

それから

pip install uwsgi

pipがsetup.pyスクリプトを実行し、多数のコンパイラメッセージが表示されるはずです。最後のメッセージは、次のように表示されます。

################# 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であることに注意してください

93
user1046783

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

再インストール(-I)@leechが言ったように、コンパイルされたキャッシュを無視します(--no-cache-dir)そして、新しいライブラリで事物を再コンパイルします。

58
alanjds
pip uninstall uwsgi

Sudo apt-get install libpcre3 libpcre3-dev

pip install uwsgi

上記のコマンドで解決しました。

8
Zhu Xiaohu

試しましたか:

pip install uwsgi -I 

-Iフラグは再インストールを強制します

4
leech

上記のすべてを試したが、それでも同じエラーが発生し、以下のエラーが発生する場合は、コマンドパラメータ、特に--http-socket /path/to/your.sockを確認してください。つまり、path = '/ path/to'が存在する必要があります

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

@alanjdsの回答を完了すると、インストール済みのuWSGIにpcreサポートを追加するプロセスが次のようになります。

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

UWSGIをアンインストールする必要はありません

0
diveinsky