二十 Home Assistant 组件那些依赖

部署运行你感兴趣的模型镜像

依赖

Home Assistant 允许组件和平台使用变量DEPENDENCIES和REQUIREMENTS来指定它们的依赖和需求。两者都是包含字符串的列表。
依赖
依赖是指在平台加载之前应该设置好的其他 Home Assistant 组件。例如 MQTT 传感器组件,它需要与 MQTT 代理建立活动连接。如果 Home Assistant 无法加载并设置 MQTT 组件,它将不会设置 MQTT 传感器组件。

DEPENDENCIES = ['mqtt']

需求
需求是指你通常会为你的组件使用pip安装的 Python 库或模块。如果你没有使用venv,Home Assistant 会尝试将需求安装到 Home Assistant 配置目录的deps子目录中;如果你在虚拟环境中运行,则会安装到类似path/to/venv/lib/python3.6/site-packages的位置。这将确保在启动时所有需求都存在。如果步骤失败,例如缺少模块编译所需的包或其他安装错误,组件将无法加载。
需求是一个字符串列表。每个条目都是一个与pip兼容的字符串。例如,媒体播放器 Cast 平台依赖于 Python 包 PyChromecast v0.6.12:

REQUIREMENTS = ['pychromecast==0.6.12']

在组件开发过程中,针对需求的不同版本进行测试可能很有用。以 pychromecast 为例,这可以通过两步完成:

pip install pychromecast==0.6.13 --target ~/.homeassistant/deps
hass --skip-pip

这将使用指定的版本,并防止 Home Assistant 尝试用REQUIREMENTS中当前的版本覆盖它。
如果你需要对需求进行更改以支持你的组件,也可以从需求的检出中进行pip install。

git clone https://github.com/balloob/pychromecast.git
pip install./pychromecast
hass --skip-pip

总结
主要介绍了 Home Assistant 中组件和平台的需求与依赖管理。详细阐述了DEPENDENCIES用于指定其他需提前设置的组件,如 MQTT 传感器依赖 MQTT 组件的示例,明确了依赖关系对组件加载的影响。对于REQUIREMENTS,说明了其是组件所需的 Python 库或模块,介绍了 Home Assistant 安装需求的位置及安装失败对组件加载的影响,还提供了在开发中测试不同版本需求及从检出安装修改后需求的方法,为开发者在管理组件依赖和需求时提供了全面指导,有助于确保组件正常运行,同时在开发过程中灵活应对不同需求场景,提高组件的稳定性和兼容性。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值