我目前正在使用 Termux 0.118.0、Python 3.10.6 和 numpy 1.23.2。当我尝试导入 numpy 时,发生以下错误
python
Python 3.10.6(主要,2022 年 8 月 3 日,23:02:14)[Clang 12.0.9(Linux 上的 https://android.googlesource.com/toolchain/llvm-project c935d99d7) 输入“帮助”、“版权”、“制作人员”或“许可证”以获取更多信息。 ^[[A>>>
将 numpy 导入为 np 回溯(最近一次调用最后一次): 文件“/data/data/com.termux/files/usr/lib/python3.10/site-packages/numpy/core/init.py”,第 23 行,位于 从 。导入多数组 文件“/data/data/com.termux/files/usr/lib/python3.10/site-packages/numpy/core/multiarray.py”,第 10 行,位于 从 。导入覆盖 文件“/data/data/com.termux/files/usr/lib/python3.10/site-packages/numpy/core/overrides.py”,第 6 行,位于 从 numpy.core._multiarray_umath 导入( 导入错误:dlopen 失败:未找到库“libgfortran.so.5”:名称空间中的 /usr/lib/libopenblas_armv8p-r0.3.7.so 需要(默认)
在处理上述异常的过程中,又发生了一个异常:
回溯(最近一次调用最后一次): 文件“”,第 1 行,位于 文件“/data/data/com.termux/files/usr/lib/python3.10/site-packages/numpy/init.py”,第 140 行,位于 从 。导入核心 文件“/data/data/com.termux/files/usr/lib/python3.10/site-packages/numpy/core/init.py”,第 49 行,位于 引发导入错误(消息) 导入错误:
重要提示:请阅读本文以获取有关如何解决此问题的建议!
导入 numpy C 扩展失败。此错误可能发生在 有很多原因,通常是由于您的设置或 NumPy 的方式问题 已安装。
我们在以下位置整理了一些常见原因和故障排除提示:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
请注意并检查以下事项:
并确保它们是您期望的版本。 请仔细研究上面链接的文档以获得进一步的帮助。
原始错误是:dlopen失败:未找到库“libgfortran.so.5”:命名空间中的/usr/lib/libopenblas_armv8p-r0.3.7.so需要(默认)
我不太确定出了什么问题,因为我似乎确实有 libgfortran.so.5 (对这个问题的格式表示歉意,我是堆栈溢出和一般编程的新手)
apt-get install libgfortran5
阅读包裹清单...完成 构建依赖树...完成 读取状态信息...完成 libgfortran5 已经是最新版本(8.3.0-3)。 0 已升级,0 已新安装,0 已删除,0 未升级。
很可能是由于破坏了已安装软件包的内部引用而引起的。通常,当使用不同的包管理器(例如 pip、pkg、apt、dpkg 等)进行交叉安装时会发生这种情况……不要这样做。
删除并重新安装 fortran 库帮助我解决了问题
pip install numpy --upgrade --ignore-installed