Hi3816 ——1. FAILED: obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons_build_ext_components.txt 錯誤解決

鍋蓋小郭哥發表於2020-12-15

問題報錯

在編譯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

問題上報

已經去上報官方了,就看改不改了,雖然問題不大,但是還是能幫助很多開發者少走很多彎路的
上報

相關文章