导航链接
HomeAssistant安装--homeassistant介绍
HomeAssistant安装--python3和pip分支
HomeAssistant安装--homeassistant
homeassistant需要在python3.5.3以上,所以我们需要先安装python3和pip,然而有些linux版本上没有python3.5以上版本,比如较旧的Ubuntu12系统,今天我们就在Ubuntu12上安装一下python3.6.5。
安装python3.6
1、创建目录python3.6.5安装目录:
sudo mkdir /usr/local/python3.6.5/
2、进入安装目录:
cd /usr/local/python3.6.5
3、下载python3.6.5:
在Windows下下载https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
下载完成后将文件拷贝到该目录下。
或者使用 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
4、解压安装包
tar -xzvf Python-3.6.5.tgz
5、执行以下命令切换到解压目录:
cd Python-3.6.5
6、执行以下命令,设置python安装目录
./configure -prefix=/usr/local/python3.6.5
7、执行以下命令,安装python
make && make install
如果出现以下错误,缺少zlib包原因,执行命令yum install zlib*安装zlib后
重新执行make && make install安装python:
zipimport.ZipImportError: can't decompress data; zlib not available
执行命令echo $?验证安装是否成功,输出为0说明安装成功
如果要保留原来的python版本,以下两步可不执行(最好保留原来版本,要不然linux很多命令会异常),
只需执行命令ln -s /usr/local/python3.6.5/bin/python3.6 /usr/bin/python3即可。
* 修改python环境变量链接:
执行以下命令,备份原来的python
cp /usr/bin/python /usr/bin/python.bak
执行以下命令,删除原来的python
rm -f /usr/bin/python
执行以下命令,链接新的python到环境变量中
ln -s /usr/local/python3.6.5/bin/python3.6 /usr/bin/python
* 验证是否升级成功
python -V
ln -s /usr/local/python3.6.5/bin/pip3 /usr/bin/pip3
至此python已经安装完成。
linux@ubuntu:/usr/local/python3.6.5/Python-3.6.5$ python3 -V
Python 3.6.5
linux@ubuntu:/usr/local/python3.6.5/Python-3.6.5$ pip3 --version
pip 9.0.3 from /usr/local/python3.6.5/lib/python3.6/site-packages (python 3.6)
安装HomeAssistant
在安装HomeAssistant时有可能由于国外源网络差,或者镜像未更新等原因导致安装失败,这时候需要做如下操作:
需要创建或修改配置文件(一般都是创建),
linux的文件在~/.pip/pip.conf,
windows在%HOMEPATH%\pip\pip.ini),
修改内容为:
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
其中url和host为国内镜像源,也可以尝试如下镜像源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
设置完成之后应该就可以正常安装HomeAssistant了。
sudo pip3 install homeassistant
安装完成输出如下:
Installing collected packages: pytz, voluptuous, chardet, async-timeout, idna, idna-ssl, attrs, multidict, yarl, aiohttp, PyJWT, urllib3, certifi, requests, astral, MarkupSafe, jinja2, pyyaml, six, pycparser, cffi, asn1crypto, cryptography, homeassistant
Running setup.py install for idna-ssl ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for pyyaml ... done
Running setup.py install for pycparser ... done
Successfully installed MarkupSafe-1.0 PyJWT-1.6.4 aiohttp-3.3.2 asn1crypto-0.24.0 astral-1.6.1 async-timeout-3.0.0 attrs-18.1.0 certifi-2018.8.13 cffi-1.11.5 chardet-3.0.4 cryptography-2.3.1 homeassistant-0.76.2 idna-2.7 idna-ssl-1.1.0 jinja2-2.10 multidict-4.3.1 pycparser-2.18 pytz-2018.5 pyyaml-3.13 requests-2.19.1 six-1.11.0 urllib3-1.23 voluptuous-0.11.5 yarl-1.2.6
验证安装结果
如果是按照我上面进行安装的话安装包会安装到/usr/local/python3.6.5/bin下,需要在该路径下进行./hass运行
由于之前编译Python时没有设置openssl,所以会出现报错
File "/usr/local/python3.6.5/lib/python3.6/site-packages/homeassistant/components/http/__init__.py", line 10, in <module>
import ssl
File "/usr/local/python3.6.5/lib/python3.6/ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
该问题需要进行openssl的安装和重新编译python
sudo apt-get install libssl-dev
sudo apt-get install openssl
修改Setup文件
vi /usr/local/python3.6.5/Python-3.6.5/Modules/Setup
修改结果如下:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
重新编译
make
make install
到/usr/local/python3.6.5/bin下,运行./hass --open-ui
等到弹出网页代表HomeAssistant安装完成。
需要给homeassistant设置登陆密码的可以参考
https://www.home-assistant.io/docs/configuration/
Configuring Home Assistant章节
网站修改配置文件
https://www.home-assistant.io/docs/configuration/
HTTP章节