【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/class="lazy" data-src/npymath/halffloat.c gcc: numpy/core/class="lazy" data-src/common/npy_longdouble.c gcc: numpy/core/class="lazy" data-src/common/numpyos.c gcc: /private/var/folders/g2/ssk3r1ms6yv_kncfrjk1m8yh0000gn/T/pip-install-n13kfd6f/numpy_e36e8d9c4ff249228d2bc9392e82e109/numpy/_build_utils/class="lazy" data-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/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/umath -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/npymath -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/common -Inumpy/core/include -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/include/numpy -Inumpy/core/class="lazy" data-src/common -Inumpy/core/class="lazy" data-src -Inumpy/core -Inumpy/core/class="lazy" data-src/npymath -Inumpy/core/class="lazy" data-src/multiarray -Inumpy/core/class="lazy" data-src/umath -Inumpy/core/class="lazy" data-src/npysort -I/Users/kongmu/miniconda3/envs/d2l/include/python3.8 -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/common -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/npymath -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/common -Ibuild/class="lazy" data-src.macosx-11.1-arm64-3.8/numpy/core/class="lazy" data-src/npymath -c numpy/core/class="lazy" data-src/multiarray/alloc.c -o build/temp.macosx-11.1-arm64-cpython-38/numpy/core/class="lazy" data-src/multiarray/alloc.o -MMD -MF build/temp.macosx-11.1-arm64-cpython-38/numpy/core/class="lazy" data-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/
查找到点击自己想要的包就可以直接在浏览器中下载完成,十分方便。
来源地址:https://blog.csdn.net/weixin_42053783/article/details/128053521
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341