第三步: 安装homeassistant
官方安装文档:
https://www.home-assistant.io/installation/linux
步骤基本上是按上面的来,但针对我的环境现状,做了调整,记录如下:
安装前的准备
开始之前,先更新一下
sudo apt-get update
sudo apt-get upgrade -y
安装依赖
sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff6 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev
这一步会安装python3,得到的是3.11的版本,并不满足homeassistant的安装需要(python 3.12)。所以在这一步之后编译安装python 3.12。
编译安装python 3.12
在Ubuntu/debian上编译安装Python 3.12的步骤如下:
- 安装必要的依赖项:
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget
- 下载Python 3.12源代码:(建议下载最新版,当时最新版是3.12.5)
wget https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz
tar -xvf Python-3.12.5.tar.xz
cd Python-3.12.5
- 配置并编译安装:
./configure --enable-optimizations
make -j $(nproc)
- 安装Python 3.12:
sudo make altinstall
- 验证安装:
python3.12 --version
- 修改软链接
rm -rf /usr/bin/python3
rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.12 /usr/bin/python3
ln -s /usr/local/bin/python3.12 /usr/bin/python
修改pip源:
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
生成帐户
这一步可以免掉了,前面linux deploy已生成了。其实笔者在后面用homeassistant安装时报错,而加了sudo则完成,但这样就装到root用户下面了。那么,就当是root用户安装了吧。
生成虚拟环境
创建目录并改变用户为 homeassistant
sudo mkdir /srv/homeassistant
sudo chown homeassistant:homeassistant /srv/homeassistant
下面为Home Assistant Core生成一个虚拟环境并切换过去,这件事是用homeassistant
用户来做的。
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
注:前面的步骤都是从原文操作步骤中翻译过来的,实际也是按这个来进行的。但后面的操作必须加sudo才能过。我想啊,是不是直接用root用户来安装得了,反正这手机也不用来做别的,把root用户密码设复杂一点就行了呗。当然这样做是不太安全,但我并不清楚这个安装过程必须什么样的权限,如果把homeassistant加到root组或赋于root权限,不也同样不安全吗?
sudo python3 -m pip install wheel
安装Home Assistant Core!
sudo pip3 install homeassistant==2024.8.2
第一次执行homeassistant,完成安装
第一次执行homeassistant时,还是会检查所需的包,并安装之,这个过程仍然需要root权限,而且即使是root,过程中仍然可能报错。
su -
hass
第一次运行需要比较长的时间,可能是5到10分钟,根据设备性能和遇到错误的情况,这个时间会有不同。
笔者根据遇到的错误信息,新增的安装如下:
apt install libpcap-dev
pip3 install numpy
pip3 install zlib_ng
pip3 install isal
如果遇到的错误多的话,建议另外开一个终端专门用于安装缺失的包。
==注:这里是难点,不同的安装时间和安装环境遇到的错误信息可能不同,特别依赖于安装者的解决问题的经验和能力。==
再次运行
hass
现在可以了,打开手机或电脑的浏览器,输入:"http://IP:8123" ,这里IP是你手机的IP,显示在linux deploy的首页上端。
见到以下页面,即大功告成。