centos7安装安装python3.11,安装Home Assistant

一,下载并编译安装python3.11

1、python源码地址:https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz

2、准备编译环境

yum update -y
 
yum -y groupinstall "Development tools"
 
yum -y install bzip2-devel openssl-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

python3运行时遇到“No module named _ssl”问题,查阅知python3需要的openssl版本最低为1.0.2,但是centos 默认的为1.0.1,需要手动编译高版本openssl,这里选用openssl-1.1.1

# 下载
curl -O https://www.openssl.org/source/openssl-1.1.1u.tar.gz
# 解压缩
tar -zxvf openssl-1.1.1u.tar.gz

#初始化编译环境
cd openssl-1.1.1u

mkdir /usr/local/openssl

./config --prefix=/usr/local/openssl shared zlib

#编译
make && make install

# 更新环境变量,需要在用的python的用户下使用,没做的话引用不到新安装的openssl
# LD_LIBRARY_PATH环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> $HOME/.bash_profile

source $HOME/.bash_profile

 

更新SQLite,原来centos7的版本在新版ha中不受支持即“ Version 3.7.17 of SQLite is not supported”, 更新SQLite,从官网下载:SQLite Download Page

# 下载
curl -O https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz

# 解压
tar zxvf sqlite-autoconf-3420000.tar.gz

# 配置编译
cd sqlite-autoconf-3420000/

./configure --prefix=/usr/local

make && make install

# 把系统预装的旧版sqlite3移走:
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old

# 为新版的sqlite3建立软链接:
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

# 配置运行环境库
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig

上传文件到系统后解压,或者系统内直接下载:

curl -O https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz

tar -xzf Python-3.11.4.tgz

创建Python-3.11.4的安装目录,注意不要安装在/root下,避免其他用户访问不到:

mkdir  /usr/local/python3/

3、开始编译安装。

进入Python-3.11.4目录下生成安装配置文件:

./configure --prefix=/usr/local/python3

# 添加ssl依赖  √
./configure --prefix=/usr/local/python3  --with-openssl=/usr/local/openssl

#--enable-optimizations 会报错
./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/lib/ssl

然后执行编译和安装:

make && make install

4、创建系统软连接

ln -s /usr/local/python3/bin/python3.11 /usr/bin/python3.11
ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip3.11

5、【选做】更换pip源, pip时经常会出现下载很慢,需要更换国内源

修改~/.pip/pip.conf配置文件,没有可以创建一个,可选源如下

# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
# 豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/
# 换回默认源pip config unset global.index-url

文件“~/.pip/pip.conf”内容

[global]
index-url=http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com








[global]
index-url=http://mirrors.cloud.tencent.com/pypi/simple
[install]
trusted-host=mirrors.cloud.tencent.com

6、python安装后校验,在安装 Home Assistant的用户下检验,有问题就在用户下配置ssl和sqlit的环境变量

# 启动python环境
python3.11
# 在python环境下依次输入,检验ssl及sqlit3版本
>>> import ssl
>>> import _ssl
>>> import sqlite3
>>> print(sqlite3.sqlite_version)
3.42.0

二、安装 Home Assistant

1、准备环境,安装Home Assistant必要的依赖库

yum -y install openjpeg2-devel
yum -y install libtiff-devel

2、创建venv环境,在虚拟环境容器中安装Home Assistant

# 先升级pip到最新版
python3.11 -m pip install --upgrade pip

# 在用户目录创建venv环境
cd ~
python3.11 -m venv homeassistant

# 接下来激活容器,使该venv的环境作为我们当前的Python主环境。
# 注意这里我们不再使用python3.11而使用python3
cd homeassistant
source bin/activate

#安装Python库 wheel轮子,作用提高安装速度,稳定
python3 -m pip install wheel

3、用pip进行 安装Home Assistant,在容器中主要使用的是pip3

cd ~/homeassistant
pip3 install homeassistant

centos7安装安装python3.11,安装Home Assistant_第1张图片​ centos7安装安装python3.11,安装Home Assistant_第2张图片​4、启动Home Assistant  

直接执行hass命令,如果想在后台运行,请加上--daemon,启动会等待很久:

# 启动,需要在venv环境下启动,首次启动建议在前台启动,第一次启动会自动下载一些python依赖库和进行一些配置,需要较长时间
$ hass

# 后台运行
$ hass --daemon

centos7安装安装python3.11,安装Home Assistant_第3张图片

centos7安装安装python3.11,安装Home Assistant_第4张图片

5、开放防火墙端口8123(ha控制台),4357(ha状态监控)

# 开放端口
firewall-cmd --permanent --add-port=8123/tcp --add-port=4357/tcp

# 重启防火墙
firewall-cmd --reload

# 查看端口列表
firewall-cmd --permanent --list-ports

6、访问系统,ip:8123即可进入系统,python安装的缺少官方的Add-on,没有Supervisor,虚拟机推荐用官方的的虚拟机镜像启动,功能齐全Linux - Home Assistant (home-assistant.io)

centos7安装安装python3.11,安装Home Assistant_第5张图片

centos7安装安装python3.11,安装Home Assistant_第6张图片​ 

你可能感兴趣的:(Home,Assistant,python3.11,linux,智能家居)