【教程】安卓设备使用AidLux部署高版本HomeAssistant(2023.2及以上)及安装HACS
本文发布于:2023年7月1日
备注:Python3.11装起来问题比较多不建议使用
1. 首先安装AidLux,这一步省略
2. 从源码编译Python3.10(HomeAssistant 2023.7需要Python3.11)
由于AidLux应用商店提供的Python版本最高只支持到3.9,对HomeAssistant的支持只到2023.1版本,而且问题比较多。
本文先安装一个Python3.10。为了能跟系统自带的Python3.7共存,使用源码编译。
(1)先安装依赖
aid install gcc aid install make aid install build-essential aid install libssl-dev aid install libffi-dev aid install zlib1g-dev
(2)从官网拉取Python3.10.12源码并解包
# Python3.10 wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz tar xzf Python-3.10.12.tgz cd Python-3.10.12 #Python3.11,如安装此版本后续的教程需自行修改 wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz tar xzf Python-3.11.4.tgz cd Python-3.11.4
(3)编译
./configure --enable-optimizations --prefix=/usr/local/python3.10 # --enable-optimizations为优化性能选项,--prefix=PATH 指定安装目录……,可根据需要进行选择。 # 默认安装路径为 /usr/local/bin make -j8 && make altinstall # 使用8个线程进行编译 # altinstall安装方式可以跟系统自带的python版本共存
(4)测试
ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3.10 # 做个软链接,可以直接用python3.10命令 python3.10 --version # 正确安装会显示版本号
3. 安装HomeAssistant Core
(1)创建一个账户
为避免权限问题使用root账户执行
(2)创建虚拟环境
mkdir /srv/homeassistant cd /srv/homeassistant python3.10 -m venv . source bin/activate
(3)安装HomeAssistant
python3.10 -m pip install --upgrade pip python3.10 -m pip install wheel python3.10 -m pip install homeassistant==2023.6.3
(4)启动
hass # 等待一段时间后,可以从http://X.X.X.X:8123(将 X.X.X.X 替换为安卓设备的 IP 地址)访问HomeAssistant
4. 安装HACS
(1)下面的命令
cd /srv/homeassistant wget -O - https://ghproxy.com/raw.githubusercontent.com/hasscc/get/main/get | HUB_DOMAIN=ghproxy.com/github.com DOMAIN=hacs REPO_PATH=hacs-china/integration ARCHIVE_TAG=china bash - # 获取 HACS 的安装包
(2)重启 HomeAssistant
(3)登录 HomeAssistant 管理台,点击管理台首页右上角的搜索图标,搜索 > 集成,并点击进入对应页面
(4)在集成页面点击添加,输入 HACS 进行添加,后续基本可以根据提示自动完成
5. 解决部分error(适用于Python3.10)
-
No module named ‘_sqlite3’
(1)安装sqlite3
wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz tar -xvzf sqlite-autoconf-3420000.tar.gz cd sqlite-autoconf-3420000/ ./configure --prefix=/usr/local/sqlite make -j8 && make install
(2)修改Python源码路径下的setup.py文件
cd ../Python-3.10.12/ vi setup.py
(3)查找” sqlite_inc_paths”,新增
‘/usr/local/sqlite/include’
‘/usr/local/sqlite/include/sqlite3’

(4)执行编译
make -j8 && make install
(5)安装完执行以下命令查看_sqlite3.so情况
find /usr -name _sqlite*.so
发现python3.10 多了

接下来我们在执行
cp /usr/local/python3.10/lib/python3.10/lib-dynload/_sqlite3.cpython-310-aarch64-linux-gnu.so /usr/local/python3.10/lib/python3.10/lib-dynload/_sqlite3.so
(6)重新编译安装Python3.10,问题解决
cd ../Python-3.10.12/ make -j8 && make altinstall
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/2860856b05.html
