下载了openharmony-v4.0-release。执行hb set,显示如下错误。
Traceback (most recent call last):
File "/home/xendless/.local/bin/hb", line 8, in <module>
sys.exit(main())
File "/home/xendless/.local/lib/python3.8/site-packages/hb/__main__.py", line 49, in main
topdir = find_top()
File "/home/xendless/.local/lib/python3.8/site-packages/hb/__main__.py", line 37, in find_top
raise Exception("Please call hb utilities inside source root directory")
Exception: Please call hb utilities inside source root directory
执行如下命令,安装hb后。openharmony-v3.2-release下的hb不能被识别。
python3 -m pip install --user build/hb
最终通过卸载hb
pip3 uninstall ohos-build
后,重新安装指定版本的hb后解决。
pip3 install ohos-build==0.4.6
2024年9月11日
之前用两个版本的openharmony时出现hb不兼容的问题。这次有了解决方法。
1.安装python
openharmony需要安装指定版本的python。官方建议python3.8。我用的ubuntu24.04下不能直接安装python3.8。通过一下指令解决python3.8的安装问题。
# 安装构建依赖
sudo apt update
sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libgdbm-dev \
libnss3-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
# 下载 Python 源代码
wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz
tar -xf Python-3.8.10.tgz
cd Python-3.8.10
# 编译和安装
./configure --enable-optimizations
make
sudo make altinstall
2.创建连接符号
# 删除旧的符号连接
sudo rm /usr/bin/python
# 找到 Python3.8 版本的路径
which python3.8
# 创建新的符号链接
sudo ln -s /usr/local/bin/python3.8 /usr/bin/python
2. 创建虚拟环境
进入openharmony项目的根目录,执行命令:
python -m venv venv
venv 是 Python 提供的一个模块,用于创建虚拟环境。虚拟环境是一种独立的、隔离的 Python 运行环境,允许你在同一台计算机上为不同的项目创建各自的 Python 环境,而不相互干扰。
3.激活虚拟环境
source venv/bin/activate
激活成功后,命令提示行前面会增加(venv)。
这样的话
4. 安装hb
pip3 install build/hb
这个命令会安装openharmony项目中带的hb。不同版本的openharmony使用的hb版本不同。所以必须使用上面这个命令。
这样安装的hb命令只会在当前的项目中可用。
以后每次编译时,需要进入venv环境。
# 激活venv
source venv/bin/activate
# 退出venv
deactivate