环境:suse 12 python 3.6.4 nginx 1.18.0
python使用源码安装,nginx也是源码安装,可查看我相关安装教程。
报错信息:
Command "/usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9m9lonnp/uwsgi/setup.py';f=getattr(tokenize,
'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(comp
ile(code, __file__, 'exec'))" install --record /tmp/pip-urosmoa3-record/install-r
ecord.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-9m9lonnp/uwsgi/
原因说明:
一、安装python后,直接安装该模块,未发生问题,可直接安装最新版本
其中,安装python时需要安装zlib和readline模块,证明这两个模块并不影响uwsgi的安装
二、安装python后,源码安装nginx,结果出现上述报错
其中,安装nginx时需要首先安装pcre和openssl(系统默认安装有,但是经过测试需要安装该软件的指定版本1.1.1),所以,导致uwsgi无法安装的因素应该是与pcre、openssl、nginx有相关性。
综上所述:如果需要安装uwsgi,在安装nginx之前,先安装uwsgi,可避免该问题;该问题发生后的解决办法尚未发现,有时间再搞吧。
果然发生了!!!!!
解决方法一
问题:由于环境出现变故,需要重新安装环境,再次出现uwsgi无法安装的状况
条件:存在已安装的环境
将之前安装的虚拟环境中的以下文件原样复制到当前环境中
1、./lib/python3.6/site-packages/uWSGI-2.0.20.dist-info
2、./lib/python3.6/site-packages/uwsgidecorators.py
3、./lib/python3.6/site-packages/__pycache__/uwsgidecorators.cpython-36.pyc
4、./bin/uwsgi
复制后,务必确认第四项是否具有执行权限,如没有,添加执行权限
问题解决,解决问题需要在特定情况下,像pyc文件具体是否需要我不清楚,但是我全部复制后就可以正常使用了