问题描述:
在使用 pip 安装 Python 包时,往往会出现 Failed building wheel for xxx 的错误。这个错误一般出现在安装源码包时,因为需要编译和构建,如果缺少构建工具或依赖库,就会出现构建失败的情况。
解决方案:
解决这个问题的方法很多,下面列举其中常用的几种方法。
方法1:安装构建依赖库
在 Ubuntu 系统中,安装编译和构建依赖库的命令如下:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
在 CentOS 系统中,安装编译和构建依赖库的命令如下:
sudo yum install gcc openssl-devel bzip2-devel libffi-devel
在 Windows 系统中,安装 Visual C++ Build Tools 可以满足构建依赖库的需求。
方法2:安装 wheel 包
为了避免编译出现问题,我们可以预编译好 wheel 包,然后直接安装。可以通过以下命令来安装 wheel 包:
pip install wheel
安装完毕后,我们可以使用 pip 来安装预编译好的 wheel 包。有些包已经提供适用于不同操作系统和 Python 版本的 wheel 包,可以通过指定使用的版本号和平台信息来安装,如下所示:
pip install SomePackage # latest version
pip install SomePackage==1.0.4 # specific version
pip install SomePackage-1.0.4-py2.py3-none-any.whl # specific wheel file
示例一:
在安装 cryptography 包时,可能出现 Failed building wheel for cryptography 的错误。这时可以考虑先安装构建依赖库,然后再安装 wheel 包来解决这个问题。
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
pip install wheel
pip install cryptography
示例二:
在安装 numpy 包时,可能出现 Failed building wheel for numpy 的错误。这时可以考虑直接安装 wheel 包来解决这个问题。
pip install wheel
pip install numpy-1.15.4-cp37-none-win_amd64.whl