问题报错

在编译WIFI报错:

[196/197] ACTION //vendor/hisi/hi3861/hi3861:run_wifiiot_scons(//build/lite/toolchain:linux_x86_64_riscv32_gcc)
FAILED: obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons_build_ext_components.txt 
python ../../build/lite/build_ext_components.py --path=../../vendor/hisi/hi3861/hi3861 --command=sh\ hm_build.sh

.......

ImportError: cannot import name '_counter' from 'Crypto.Util' (/usr/lib/python3/dist-packages/Crypto/Util/__init__.py)

问题

问题分析

其实最重要的就是3部分的错误,因为import name '_counter' from 'Crypto.Util'错误导致的。

根本问题在于官方文档这里虽然说明但是没有去做实现,然后因为自己Ubuntu原本就有3.6.5版本的Python,安装Python3.8.0过后,直接只是ln软链接PythonPython3.8

鸿蒙错误

而同时/usr/bin/目录下会有python3 -> Python3.6.5 ,即Python3指向了3.6.5的版本。

然后就继续后续pip操作了,导致出现安装的其实是3.6.5相关的包,在3.8.0版本无法调用的问题。

问题解决

建议使用非Docker用户,同时本机还带有低于3.7Python环境下,在安装完python3.8之后,软链接的时候将Python3.8也去同步到Python3上。

操作如下:

cd /usr/bin && sudo rm python && sudo ln -s python3.8-path python
sudo ln -s python3.8-path python3  #!!!重要!!!!
python --version

问题上报

已经去上报官方了,就看改不改了,虽然问题不大,但是还是能帮助很多开发者少走很多弯路的
上报

Logo

更多推荐