全志V3S挖坑填坑-u-boot编译:SyntaxError: Missing parentheses in call to ‘print‘(系列五)
系列链接
系列一:全志V3S挖坑填坑-环境配置
系列二:全志V3S挖坑填坑-Gparted安装后打不开
系列三:全志V3S挖坑填坑-u-boot编译:fatal error: curses.h
系列四:全志V3S挖坑填坑-u-boot编译:*** Your dtc is too old, please upgrade to dtc 1.4 or newer
系列五:全志V3S挖坑填坑-u-boot编译:SyntaxError: Missing parentheses in call to ‘print‘
一、参考网址
荔枝派Zero指南
荔枝派Zero: 震惊!从未见过如此精思巧构之Pi!
荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot)
【视频分享】制作荔枝派Zero开发板(全志V3s) TF/SD卡启动盘
二、问题四:u-boot编译:File “./tools/binman/binman”, line 49 print result SyntaxError: Missing parentheses in call to ‘print’
1.执行编译时,提示:File “./tools/binman/binman”, line 49 print result SyntaxError: Missing parentheses in call to ‘print’
编译命令
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
错误提示截图如下
我按照 荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot),执行ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make命令的时候显示(==File “./tools/binman/binman”, line 49 print result SyntaxError: Missing parentheses in call to ‘print’)。因为我在配置ESP32的时候把python版本设置成默认python3,而错误所在文件的语法明显是 python2的语法,而且错误出在信息输出上,应该并不会影响编译过程,所以可以把错误语法书写的print注释掉,也可以可以把错误语法书写的print改成python3的语法,也可以把环境的python默认版本改成python2。这三种方法我试了前两种会导致编译的时候卡住,我尝试最后一种运行通过。所以我采用的是最后一个。
2.问题原因:
因为我配置ESP32环境,把python设置成默认python3,而编译文件采用python2语法。
3.解决办法
参考文章
1.【问题解决】报错:SyntaxError: Missing parentheses in call to ‘print‘. Did you mean print(result)?
2.Linux下切换python版本(python2和python3版本切换)
把默认的python版本切换成 python2:
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2 /usr/bin/python
问题解决。
4.附带问题:安装anaconda,导致编译不通过
只需按照3中解决,然后关闭anaconda环境就好
命令如下