阿里云haas100开发板源代码适配python3.7版本的方法

本篇文章写作时,按照阿里云官方手册上说的码云链接下载的代码在python3.7下编译不通过,会出现一些问题。在阿里专家的帮助下,通过修改一个自动编译文件,将问题解决,在此与大家分享一下。

所用硬件:haas100开发板

一、问题描述

拿到haas100开发板后,在上手测试helloworld_demo时,发现即使例程也编译不通过。

参考的步骤是阿里云的官方手册2020年9月23日版本。

下载的代码是下图的链接,用的是码云那个。

上篇文章上提到过,alios-things系统编译是通过基于python2.7的aos-cube工具进行的。aos-cube安装成功之后,可以通过windows的命令行工具,使用若干指令来完成编译的操作,比如haas开发板,就是通过下图所示的命令来进行编译的。

我用的是python3.7版本,跟官方推荐的版本不一致。导致编译的时候,出现下图所示的错误。


错误提示有4个:
其中3个提示 “missing parentheses in call to 'print'”。
第四个提示“The second is “module ‘string’ has no attribute 'find'"。

二、原因分析

在阿里专家的指导下,确认问题的原因是本人的Python版本(3.7)与推荐的版本(2.x)不一致,从而导致个别语句因语法不一致编译不通过。python3.7对于个别函数的语法有调整,语法调整后会“不认”个别“旧”语句。

三、解决方法

有3个位置将print后面的语句加上括号"()",第4个语句将string修改为str。

四、问题解决的意义

对于已经安装了python3.7版本的用户来说,有些其他工作是基于这个版本开发的,如果为了开发haas100而来回切换版本,势必导致工作的不便。采用本文所述的方法,可以使haas100同时适配python3.7的编译,避免版本切换带来的不便。

修改过的文件下载链接:

阿里云haas100开发板源代码在python3.7环境下编译需要的支持文件

使用方法:

将压缩文件解压,将haas1000_genbin.py文件复制到AliOS-Things\platform\mcu\haas1000\release\auto_build_tool目录下,替换原来文件即可。为防止以后还用原文件,可以将其改名存放在他处。

讨论交流

猜你喜欢

转载自blog.csdn.net/youngwah292/article/details/108957199