赞
踩
假设已有arm系统环境
例如:numpy(数值运算) opencv(图像处理) cython(编译) pyinstaller(打包)
conda install cython pyinstaller numpy opencv
例如tensorflow
下载:https://pan.baidu.com/s/134lVxY2pmRH21ki5IIMkig 提取码:jb87 (tf 1.13 2.0)
安装:
pip install tensorflow-2.0.0-cp37-none-linux_aarch64.whl
如果报ssl证书认证错误(There was a problem confirming the ssl certificate),添加ssl认证代码安装
pip install tensorflow-2.0.0-cp37-none-linux_aarch64.whl -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
安装时某些依赖包可能出错,例如h5py,单独用conda或pip安装后,再重新执行以上tensorflow安装
conda install h5py
(3)部分包不具备conda或pip安装条件,从源码编译安装
例如gdal,参考:main__.gdal_config_error: [Errno 2] No such file or directory: ‘gdal-config (gdal源码安装)
直接使用pyinstaller code.py发现打包到的程序里的包很少,运行会报缺环境的import错误,例如tensorflow等
需要修改code.spec增加缺的包,例如:hiddenimports=['pkg_resources.py2_warn', 'pyparsing','tensorflow','gdal'],
如果还是不行增加hook,例如:hookspath=['hooks'], 参考 tensorflow hook
此时重新打包发现tensorflow等依赖项均出现在程序包中,程序可正常运行
同样的代码换到该环境后报错,这种可能是环境差异导致的,经检查当前环境的pyshp为2.1.2,原环境的pyshp为2.1.0,换回原版本测试ok。
源码运行是代码ok,但编译后的程序执行报错:
经检查是读取pb时出错,例如:graph_def.ParseFromString(f.read())
问题很奇怪怀疑是文件读取后异常,大概率是字符集问题,查看并尝试修改系统字符集
通过locale命令看到系统字符集是zh_CN.UTF-8
修改为 en_US.UTF-8后,执行一切正常
LANG=en_US.UTF-8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。