pip安装包时gcc编译错误pip subprocess to install build dependencies did not run successfully.
Posted 空慕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pip安装包时gcc编译错误pip subprocess to install build dependencies did not run successfully.相关的知识,希望对你有一定的参考价值。
前记:以前一直玩的都是微软的windows系列操作系统,最近刚转macOS 12版本,遇到各种各样奇奇怪怪的错误在所难免,不妨在此总结一下。
在mac OS中用pip安装《动手学深度学习》中介绍的d2l库时,发生了下面的错误:
pip subprocess to install build dependencies did not run successfully.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
我用miniconda管理包,建立环境d2l再用pip install -U d2l
安装d2l库,产生了报错(报错的信息有好几百行,只截取了我认为重要的信息):
gcc: numpy/core/src/npymath/halffloat.c
gcc: numpy/core/src/common/npy_longdouble.c
gcc: numpy/core/src/common/numpyos.c
gcc: /private/var/folders/g2/ssk3r1ms6yv_kncfrjk1m8yh0000gn/T/pip-install-n13kfd6f/numpy_e36e8d9c4ff249228d2bc9392e82e109/numpy/_build_utils/src/apple_sgemv_fix.c
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
error: Command "gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/kongmu/miniconda3/envs/d2l/include -arch arm64 -I/Users/kongmu/miniconda3/envs/d2l/include -arch arm64 -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=3 -DHAVE_CBLAS -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/umath -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/common -Inumpy/core/include -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/kongmu/miniconda3/envs/d2l/include/python3.8 -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.1-arm64-3.8/numpy/core/src/npymath -c numpy/core/src/multiarray/alloc.c -o build/temp.macosx-11.1-arm64-cpython-38/numpy/core/src/multiarray/alloc.o -MMD -MF build/temp.macosx-11.1-arm64-cpython-38/numpy/core/src/multiarray/alloc.o.d -faltivec -I/System/Library/Frameworks/vecLib.framework/Headers" failed with exit status 1
[end of output]
错误信息中出现了很多gcc编译器的报错信息,初步猜测错误原因是macOS版本比较新,有些库pip没有找到与系统相匹配的whl包,于是就下载源码重新编译打包成whl包进行安装,结果造成无法编译的问题。
解决方法
在下面这些网站上找已经编译打包好的whl包:
Windows:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
直接用Ctrl + F查找想要的包名和版本号然后点击下载链接就可以了。
Windows 和 macOS:
这里以pandas为例:
先访问pypi.org
然后在搜索框中搜索用pip在线安装不成功的库,比如pandas
点击导航栏上的Download files后,找到自己想要的版本下载即可(我是macOS 12系统,目前没有适配,并且我的python版本是3.11,那么可以选用padas-***-cp311-macosx_11_0_arm64.whl
,这里架构选用arm64的):
pandas库:https://pypi.org/project/pandas/#files
如果下载速度过慢,可以在清华源中查找包下载(这里找的是numpy):
https://pypi.tuna.tsinghua.edu.cn/simple/numpy/
清华源:https://pypi.tuna.tsinghua.edu.cn/simple/
查找到点击自己想要的包就可以直接在浏览器中下载完成,十分方便。
pip 安装包时指定pypi资源地址
今天安装mycli的时候,一直有个报错,报gcc错误,本来就是一键安装的事,折腾了老半天。
什么yum install gcc gcc-c++ 一顿操作,完全无效,又配置epel,还是不给面子;
只能试试【pip 安装包时指定pypi资源地址】
使用阿里云的也没有安装成功cryptography
pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com cryptography
pip install mycli
然后终于可以愉快的玩耍了,mysql自动补全
以上是关于pip安装包时gcc编译错误pip subprocess to install build dependencies did not run successfully.的主要内容,如果未能解决你的问题,请参考以下文章
ModuleNotFoundError:尝试为 Django 安装 Python 包时没有名为“pip.download”的模块