pip下载嵌入式平台的离线包并安装

嵌入式平台需要下载python的包,但是网络受限,无法下载包,此时该如何处理:
比如我当前需要安装riscv平台上的 opencv-contrib-python 包,但是嵌入式平台网速太慢,下载失败,如何通过服务器下载所需的包并且正常安装?

大致分为三步:

  1. 查看嵌入式平台的平台信息
  2. 去有网络的服务器上下载对应嵌入式平台的离线包
  3. 将离线包拷贝到嵌入式设备 ,并进行安装

1. 查看所需要安装的离线平台信息

以下命令运行在嵌入式设备上:

** 查看python版本 ** 
	$ python3 --version
			Python 3.10.12
** 平台信息 **
	$ uname -m
		riscv64
	$ arch
		riscv64

2. 在服务器上下载离线包

$ pip download opencv-contrib-python --only-binary=:all: --platform linux_riscv64  --python-version 3.10.12        
	ERROR: Could not find a version that satisfies the requirement opencv-contrib-python (from versions: none)
	ERROR: No matching distribution found for opencv-contrib-python

说明官方没有预编译该平台的opencv包,需要通过源码编译。

pip download opencv-contrib-python==4.10.0.84 --no-binary :all:


$ pip download opencv-contrib-python  --platform linux_riscv64  --python-version 3.10.12        

参数说明:
	<opencv-contrib-python>:需要下载的Python包名称。
	--only-binary=:all::只下载二进制包(即whl文件)。
	--wheel:确保下载的是wheel格式的包。 有的版本会报错,去掉该选项即可。
	--platform <platform_tag>:指定目标平台标签,例如 manylinux1_x86_64、win_amd64、macosx_10_9_x86_64 等。
	--python-version <python_version>:指定Python版本,例如 3.7。

3. 安装离线包

python -m pip install --no-index --find-links . <package_name>
	--no-index:禁止pip查询在线索引。
	--find-links .:告诉pip在当前目录下查找whl文件进行安装。

确保所有依赖项也一同下载并在同一目录下,以确保安装顺利进行。如果存在复杂的依赖关系,可能需要先分析好依赖顺序再依次安装。
如果是源码包,安装命令如下:

pip install /path/to/opencv_contrib_python-4.10.0.84.tar.gz
### 如何在嵌入式系统中安装Python依赖包 对于嵌入式的Python环境而言,通常会采用官方提供的embeddable zip文件形式的解释器[^2]。这种版本专为集成到应用程序而设计,体积较小包含了运行所需的核心库。 #### 使用Pip工具在线安装依赖 如果目标设备能够连接互联网,则可以直接利用pip命令来获取所需的第三方模块: ```bash python -m pip install requests ``` 这种方式简单快捷,但是需要注意的是,在执行上述操作之前要确保网络通畅以及pip已经正确配置好镜像源地址等参数设置[^1]。 #### 预先下载离线whl包再传输至目标机部署 当面对无法联网的目标平台时,推荐的做法是在具备网络访问权限的工作站上提前准备好所有必要的wheel格式软件包(`.whl`),之后通过U盘或者其他方式拷贝过去完成本地安装过程: 1. 查询当前环境中已有的依赖关系树; 2. 导出requirements.txt清单文件; 3. 利用`--only-binary=:all:`选项批量抓取对应架构下的二进制发行版; 4. 将收集好的资源迁移到目的端; 5. 进入无网环境下实施最终环节——依据先前准备的需求列表逐一加载这些预缓存下来的组件。 具体实践如下所示: ```bash # 步骤 1 和 2 可以合成一步 pip freeze > requirements.txt # 步骤 3 下载 whl 文件 pip download -r requirements.txt --dest ./wheels --only-binary=:all: # 步骤 5 安装 wheel 包 pip install --no-index --find-links=./wheels -r requirements.txt ``` 以上两种方法均能有效地解决不同场景下关于如何向基于Python Embeddable构建的应用分发额外支持库的问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值