场景
docker环境搭建服务,需要在docker中安装uwsgi,安装总是失败
- 操作系统时ubuntu
- gcc版本7.4
问题排查
- 不是pip源问题
- 不是网络问题
- 搜索各种资料,部分资料显示安装python-dev就可以解决,尝试过后还是失败
- 将gcc版本降级,当前gcc版本为7.4,降级为gcc-4.8,问题解决
解决流程
- 之前的经验,之前碰见过该问题,但是当时没有记录下来,一时想不起来
- 查看uwsgi官方文档
uWSGI is a (big) C application, so you need a C compiler (like gcc or clang) and the Python development headers.
这里强调了uWSGI是一个c语言写的软件,但是没有强调gcc版本问题
On a Debian-based distro an
apt-get install build-essential python-dev
will be enough.
- 将gcc降级到4.8版本
sudo apt install gcc-4.8
# 因为gcc是个软链接,一般都是在/usr/bin路径下直接删掉,重新链接到刚下载的gcc-4.8
cd /usr/bin
rm gcc
ln -s gcc-4.8 gcc
gcc --version
# 确认gcc已经链接到gcc-4.8
pip install uwsgi