基于Hi3516的OpenHarmony python移植 精华

mashagi
发布于 2022-4-13 10:52
浏览
2收藏

@toc

背景

基于Hi3516平台,实现OpenHarmony标准系统的python移植,实现平台的在线python编程。
(各大平台上,对于OpenHarmony系统的python移植明确描述的帖子甚少,苦于实现过程的艰辛,为减少后续开发者在同样的问题上少走弯路,不吝分享,能贡献万分之一的帮助就很荣幸了)

大前提

1.已有OpenHarmony编译环境(如code-v3.1-Release)

2.以成功编译一次标准系统(code-v3.1-Release$./build.sh --product-name Hi3516DV300 )

移植操作步骤

1.OpenHarmony工程目录中添加python模块

.将std-python目录复制到工程的developtools目录下

code-v3.1-Release$ cd developtools
code-v3.1-Release/developtools$ git clone git@gitee.com:openharmony-sig/python.git
code-v3.1-Release/developtools$ mv python/std-python ./

基于Hi3516的OpenHarmony  python移植-鸿蒙开发者社区

2.productdefine/common/products/Hi3516DV300.json中配置std-python模块,使其参与编译

基于Hi3516的OpenHarmony  python移植-鸿蒙开发者社区

3.编译./build.sh --product-name Hi3516DV300,生成python可执行文件和库文件,生成路径out/hi3516dv300/developtools/std-python

基于Hi3516的OpenHarmony  python移植-鸿蒙开发者社区
至此,OpenHarmony Hi3516标准系统上的python编译完成
#F00 PS:按照唐左林老师的步骤,还需要将编译的python打包,通过hdc发送到板端再解压安装。
PS:Hi3516开发板system文件系统只读问题,可通过 “mount -o rw,remount /” 解决。

4.板端验证python环境

基于Hi3516的OpenHarmony  python移植-鸿蒙开发者社区
经过反复尝试,发现真正可以运行的python并不是/bin/python或者/system/bin/python,而是解压目录下/data/developtools/std-python/install下的bin,运行方式只能是./bin xxx.py,将bin更名为python运行
示例如下:

基于Hi3516的OpenHarmony  python移植-鸿蒙开发者社区

注意:
如果发现移植的python无法运行(/bin/sh: python No Such file or directory),则python需要重新交叉编译,详情参考(https://gitee.com/openharmony-sig/python/blob/master/std-python/README_zh.md)

install.tar.gz 43.61M 31次下载
hi3516_images.tar.gz 1.12G 24次下载
file_io.rar 303B 14次下载
已于2023-2-22 09:23:12修改
3
收藏 2
回复
举报
3条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

赞,楼主用python移植可以参考一下之前唐老师的文章,这是他的主页:https://ost.51cto.com/user/posts/5589024

已于2022-4-13 11:34:06修改
回复
2022-4-13 11:25:49
mashagi
mashagi

连老师和唐老师的都有看,只是目前系统只读的问题没解决,哈哈,感谢分享

回复
2022-4-13 11:31:02
wx630715ab239db
wx630715ab239db 回复了 mashagi
连老师和唐老师的都有看,只是目前系统只读的问题没解决,哈哈,感谢分享

系统只读可以用这个命令重新mount根目录,

mount -o rw,remount /
回复
2022-9-7 15:53:14
回复
    相关推荐