记录jetson tx2上复现pvn3d遇到h5py包无法构建的问题,已解决。

   嵌入式板子上真的非常难配环境,头大,什么bug都能遇上,特别是网络问题,很折磨。这个h5py包这个问题,困了我半天,不知道什么原因。之前在win10上根本没遇到的问题,导致我根本没有往架构方面想,问题如下:

 这是主要的两种报错,大概就是说,兼容存在问题,numpy,cython,python和h5py之前存在问题,这个报错太误导了,导致我解决思路一直存在问题,我搜了很多博客,大概就是说:

        反正就是,兼容是不存在问题的,我目前使用的是,python3.6,numpy1.19,cython0.25.2,h5py3.1.0。真正的问题是:jetson tx2 nx是arm架构,h5py没有为 ARM64 (aarch64) 架构提供预编译的 wheel 文件。

        哎,也是我蠢了,半天了没想着去手动下载h5py,因为直接用命令行下载压缩包没出问题,结果一去pypi看,才发现,根本没有arm架构的h5py。我这里就想到两种解决办法,第一种是网上找到的,说是可以从源码编译安装h5py,这样就可以在arm架构上安装并且提到arm架构上可能存在内存不够的问题,不过我个人尝试之后,并没有解决问题,依然报错,只不过没有再报错找不到合适的版本。

源码安装

        这个方法我没有成功,不想看的可以直接去下一个方法。

        首先要确保依赖项安装成功:

sudo apt-get install python3-dev libhdf5-dev

如果报错,建议可以更新一下apt。

然后从源码安装h5py,这边建议不要用wget,网络都是其次,手动下载更加安稳。链接:h5py · PyPI

放到目录之后,进入目录,然后解压,并且安装:

tar -zxvf h5py-3.1.0.tar.gz

cd h5py-3.1.0

pip3 install .

看到别人说可能存在内存问题,可以增加交换空间:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

        这个方法我个人尝试没有成功,不过,应该也是一种解决办法。另外看到他们说,如果还是不行,可以考虑使用2.10.0版本,兼容性更好,但是pvn3d会不会不支持这个版本,导致其他包出问题,所以没有尝试。

conda安装

        这个方法可以说非常抽象了,我本来是没报希望的,因为我之前每次用conda下载包,要么提示频道里没有这个包,要么就是解决环境问题一直转圈,很烦,结果这次用conda下载直接就解决问题了,该说不说,conda还得是conda,环境问题还得靠他。

        我直接运行

conda install h5py

就成功了。

我也很懵逼,这个问题没有多余的说的了。就这么突兀的解决了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值