Prime 仅适用于 Mac 吗?如果有人知道如何在 Windows 上使用它,请分享。我尝试过使用 Conda、WSL 安装它,甚至克隆它,但一切都给我带来了同样的问题。
收集primme 使用缓存的 primme-3.2.1.tar.gz (543 kB) 准备元数据(setup.py)...完成 已满足要求:未来在 ./qeenv/lib/python3.10/site-packages (来自 primme) (0.18.3) 已满足要求:./qeenv/lib/python3.10/site-packages 中的 numpy(来自 primme)(1.26.3) 已满足要求: ./qeenv/lib/python3.10/site-packages 中的 scipy (来自 primme) (1.11.4) 使用旧版“setup.py install”进行 primme,因为未安装软件包“wheel”。 安装收集的软件包:primme 运行 setup.py install for primme ... 错误 错误:子进程退出并出现错误
× 运行 primme 的 setup.py install 未成功运行。 │ 退出代码:1 ╰─>【208行输出】 /tmp/pip-install-8e912w4n/primme_5d9f74a00c4f497faee52fe5c5fb851f/setup.py:38:弃用警告:
`numpy.distutils` is deprecated since NumPy 1.23.0, as a result
of the deprecation of `distutils` itself. It will be removed for
Python >= 3.12. For older Python versions it will remain present.
It is recommended to use `setuptools < 60.0` for those Python versions.
For more details, see:
https://numpy.org/devdocs/reference/distutils_status_migration.html
from numpy.distutils.system_info import get_info
/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:1974: UserWarning:
Lapack (http://www.netlib.org/lapack/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [lapack]) or by setting
the LAPACK environment variable.
return getattr(self, '_calc_info_{}'.format(name))()
/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:1974: UserWarning:
Lapack (http://www.netlib.org/lapack/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [lapack_src]) or by setting
the LAPACK_SRC environment variable.
return getattr(self, '_calc_info_{}'.format(name))()
/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
Optimized (vendor) Blas libraries are not found.
Falls back to netlib Blas library which has worse performance.
A better performance should be easily gained by switching
Blas library.
if self._calc_info(blas):
/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
if self._calc_info(blas):
/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
if self._calc_info(blas):
running install
/home/avsqbit/qeenv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_ext
building 'primme' extension
INFO: C compiler: x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
creating build
creating build/temp.linux-x86_64-3.10
creating build/temp.linux-x86_64-3.10/primme
creating build/temp.linux-x86_64-3.10/primme/src
creating build/temp.linux-x86_64-3.10/primme/src/eigs
creating build/temp.linux-x86_64-3.10/primme/src/linalg
creating build/temp.linux-x86_64-3.10/primme/src/svds
INFO: compile options: '-DNDEBUG -DF77UNDERSCORE -I/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/core/include -Iprimme/include -Iprimme/src/include -I/home/avsqbit/qeenv/include -I/usr/include/python3.10 -c'
INFO: x86_64-linux-gnu-gcc: primme.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/auxiliary_eigs.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/auxiliary_eigs_normal.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/convergence.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/correction.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/factorize.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/init.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/inner_solve.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/main_iter.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_c.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/ortho.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_interface.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_f77.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/restart.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/update_W.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/update_projection.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/eigs/solve_projection.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/linalg/auxiliary.cppINFO: x86_64-linux-gnu-gcc: primme/src/linalg/blaslapack.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/linalg/magma_wrapper.cppINFO: x86_64-linux-gnu-gcc: primme/src/linalg/memman.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/linalg/wtime.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_c.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_f77.cpp
INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_interface.cpp
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
[Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'
error: Command "x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNDEBUG -DF77UNDERSCORE -I/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/core/include -Iprimme/include -Iprimme/src/include -I/home/avsqbit/qeenv/include -I/usr/include/python3.10 -c primme.cpp -o build/temp.linux-x86_64-3.10/primme.o" failed with exit status 127
[end of output]
注意:此错误源自子进程,并且可能不是 pip 的问题。 错误:旧版安装失败
× 尝试安装软件包时遇到错误。 ╰─> primme
注意:这是上面提到的包的问题,而不是 pip 的问题。 提示:请参阅上面的失败输出。
我刚刚遇到了完全相同的错误,尝试在 Ubuntu 22.04 上安装 primme。
我可以通过回滚到旧版本的 setuptools、numpy 来安装它,还可以手动安装一些依赖项:
缺少的依赖项是 LAPACK 和 BLAS,我通过运行安装它们:
sudo apt install liblapack-dev libblas-dev
然后,在python环境中,我回滚了
setuptools
和numpy
:
pip install setuptools==59.8.0 numpy==1.22.4
我还安装了
wheel
,虽然我不确定是否有必要:
pip install wheel
此后,
primme
的安装对我有用。
希望它也能解决 Windows 中的这个问题。