最近在配置项目环境的时候,使用pip install -r requirements.txt时总是报错。
Building wheel for mpi4py (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for mpi4py (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [70 lines of output]
running bdist_wheel
running build
running build_src
using Cython version 0.29.32
cythonizing 'mpi4py/MPI.pyx' -> 'mpi4py/MPI.c'
running build_py
creating build
creating build/lib.linux-x86_64-cpython-37
creating build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/run.py -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/typing.py -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/bench.py -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/__init__.py -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/__main__.py -> build/lib.linux-x86_64-cpython-37/mpi4py
creating build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/server.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/__init__.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/_core.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/aplus.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/_lib.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/__main__.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/pool.py -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
creating build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/util/pkl5.py -> build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/util/__init__.py -> build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/util/dtlib.py -> build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/libmpi.pxd -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/MPI.pxd -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/__init__.pxd -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/MPI_api.h -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/MPI.h -> build/lib.linux-x86_64-cpython-37/mpi4py
creating build/lib.linux-x86_64-cpython-37/mpi4py/include
creating build/lib.linux-x86_64-cpython-37/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.h -> build/lib.linux-x86_64-cpython-37/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi4py.i -> build/lib.linux-x86_64-cpython-37/mpi4py/include/mpi4py
copying src/mpi4py/include/mpi4py/mpi.pxi -> build/lib.linux-x86_64-cpython-37/mpi4py/include/mpi4py
copying src/mpi4py/py.typed -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/__main__.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/typing.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/bench.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/MPI.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/run.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/__init__.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py
copying src/mpi4py/futures/pool.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/_core.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/__main__.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/_lib.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/aplus.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/server.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/futures/__init__.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/futures
copying src/mpi4py/util/dtlib.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/util/pkl5.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/util
copying src/mpi4py/util/__init__.pyi -> build/lib.linux-x86_64-cpython-37/mpi4py/util
running build_ext
MPI configuration: [mpi] from 'mpi.cfg'
MPI C compiler: /usr/local/bin/mpicc
MPI C++ compiler: /usr/local/bin/mpicxx
MPI F compiler: /usr/local/bin/mpifort
MPI F90 compiler: /usr/local/bin/mpif90
MPI F77 compiler: /usr/local/bin/mpif77
checking for MPI compile and link ...
/usr/local/bin/mpicc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /root/anaconda3/envs/meshdeformnet/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /root/anaconda3/envs/meshdeformnet/include -fPIC -I/root/anaconda3/envs/meshdeformnet/include/python3.7m -c _configtest.c -o _configtest.o
gcc: error: unrecognized command line option ‘-fno-plt’
gcc: error: unrecognized command line option ‘-fno-plt’
gcc: error: unrecognized command line option ‘-fno-plt’
failure.
removing: _configtest.c _configtest.o
/tmp/pip-build-env-phdkhedw/overlay/lib/python3.7/site-packages/setuptools/dist.py:773: UserWarning: Usage of dash-separated 'index-url' will not be supported in future versions. Please use the underscore name 'index_url' instead
% (opt, underscore_opt)
error: Cannot compile MPI programs. Check your configuration!!!
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mpi4py
Failed to build mpi4py
ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects
尝试过很多方法,编写配置文件
方法一:
sudo apt update
sudo apt-get install libopenmpi-dev
方法二
apt --fix-broken install
apt install mpich
pip install mpi4py
方法三、该文章中有手动安装
https://blog.csdn.net/qq_36649698/article/details/104107523
以上方式都不行,我解决的办法
conda install mpi4py
有的时候就是如此滑稽,绕一大圈都不行,换一条指令就行了