aarch64架构pip安装h5py 2.10.0 build失败以及解决AttributeError: ‘str‘ object has no attribute ‘decode‘

安装h5py原因

from tensorflow.python.keras.models import load_model

load_model加载str的话报错:AttributeError: ‘str’ object has no attribute ‘decode’。查找资料得知要按照低版本的h5py。

安装h5py2.10.0的问题

问题截图:
在这里插入图片描述

在这里插入图片描述

  • 依赖的HDF5,Cython安装好了,也没有用。
    在这里插入图片描述
  • 后来发现pip默认给我安装的Cython是3.8.0,查看Github,发现tf1.15.0依赖的Cython是0.28.4, protobuf 3.8.0。

在这里插入图片描述
在这里插入图片描述
所以换成0.28.4

  • 对于h5py的低版本,pip自动给我下载的压缩包我发现不是真正的Source code,最后都build失败了。在这里插入图片描述
  • 所以最后去GitHub上自己手动选择压缩包去下载,碰运气,居然安装好了。
  • 在这里插入图片描述

在这里插入图片描述

安装成功后,load_model可以加载成功,不再报错。事后觉得,好像HDF5库不安装也没有关系,主要是Cython版本要对,我试过了。

另外就是,安装了HDF5库以后,可能会导致下面的问题,但我没能复现出来,后来莫名奇妙又好了。

在这里插入图片描述