繁体   English   中英

如何将 python 包预安装到 OpenWRT 自定义映像中?

[英]How to pre-install a python package into a OpenWRT custom image?

我正在开发路由器,需要预先安装一个 python 模块snmp_passpersist

原源码是用python2编码的,所以我修改为适配python3,需要预装到产品镜像中。

我知道如何通过原始源代码附带的 pip 和 setup.py 将 python 模块安装到正在运行的实时环境中,但现在我在 OpenWRT 的 buildroot 环境中。

我通读了 OpenWRT 的自定义包概述,但它适用于 C 语言和二进制可执行文件。

看起来应该使用 python 模块/包而不是cp命令完成更多步骤,例如将 *.py 文件编译为 *.pyc,并制作一个包含大量包信息的 egg 文件等。

也许将 egg 文件简单地复制到目标 lib 文件夹中是可行的,但我担心 PIP 环境中不会有版本信息。

我想知道正确/正式的方式。 谢谢!

您应该遵循 Openwrt 的官方 python 包

为 python 添加包含 makefile

include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

makefile 有一些内置命令,例如: $(eval $(call Py3Package,python3-curl))

预构建 python 包,您可以在自定义图像中获取它

例如: https ://github.com/openwrt/packages/blob/openwrt-21.02/lang/python/python-curl/Makefile

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM