如何打包ROCm环境Wheel以便后续便捷使用?
摘要:前言 我的 ROCm 是从 AMD 官方的 nightly 通道下载的,可以提取成 Wheel 方便到其他项目安装。 什么是 Wheel 简单来说,Wheel(.whl 文件)就是 Python 的“全家桶安装包”。 如果把 Python
前言
我的 ROCm 是从 AMD 官方的 nightly 通道下载的,可以提取成 Wheel 方便到其他项目安装。
什么是 Wheel
简单来说,Wheel(.whl 文件)就是 Python 的“全家桶安装包”。
如果把 Python 库比作一套“乐高玩具”,那么 Wheel 就像是已经拼装好了的成品。你买回来直接就能玩,而不需要自己对照零件图纸(源码)去从头组装。
在 Wheel 出现之前,Python 常用 .tar.gz 格式的源码包。
源码包 (sdist):只包含代码。如果库里有 C++ 或 ROCm 代码(比如编译的 torch),安装时,电脑必须安装了编译器(如 MSVC、HIP SDK),然后当场编译几小时。
Wheel 包:是预编译好的二进制文件。它已经根据特定的操作系统(Windows/Linux)和架构(x86/AMD GPU)处理好了。安装时,pip 只是把文件解压到 site-packages 目录,速度极快。
Wheel 包里到底有什么?
如果把 .whl 后缀改成 .zip 并打开,可以看到:
代码文件夹:比如 torch 文件夹,里面是 .py 文件和编译好的 .dll(Windows 动态链接库)。
.dist-info 文件夹:这是包的“身份证”,记录了包的版本、依赖关系、谁开发的、以及所有文件的校验码。
