前言

我的 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 并打开,可以看到:

  1. 代码文件夹:比如 torch 文件夹,里面是 .py 文件和编译好的 .dll(Windows 动态链接库)。
  2. .dist-info 文件夹:这是包的“身份证”,记录了包的版本、依赖关系、谁开发的、以及所有文件的校验码。

进入环境

先进入之前用来测试和编译的 ComfyUI 环境

cd D:\Softwares\StabilityMatrix\Data\Packages\ComfyUI
.\venv\Scripts\activate

查看包列表

pip list

输出

Package                                Version
-------------------------------------- --------------------------
aiohappyeyeballs                       2.6.1
aiohttp                                3.13.3
aiosignal                              1.4.0
alembic                                1.17.2
annotated-types                        0.7.0
attrs                                  25.4.0
av                                     16.0.1
build                                  1.3.0
certifi                                2026.1.4
charset-normalizer                     3.4.4
cmake                                  4.0.0
colorama                               0.4.6
comfyui-embedded-docs                  0.3.1
comfyui_frontend_package               1.35.9
comfyui_workflow_templates             0.7.64
comfyui-workflow-templates-core        0.3.61
comfyui-workflow-templates-media-api   0.3.34
comfyui-workflow-templates-media-image 0.3.43
comfyui-workflow-templates-media-other 0.3.62
comfyui-workflow-templates-media-video 0.3.22
einops                                 0.8.1
expecttest                             0.3.0
filelock                               3.20.0
frozenlist                             1.8.0
fsspec                                 2025.9.0
gguf                                   0.17.1
greenlet                               3.3.0
huggingface-hub                        0.36.0
hypothesis                             5.35.1
idna                                   3.11
Jinja2                                 3.1.6
kornia                                 0.8.2
kornia_rs                              0.1.10
lintrunner                             0.12.7
Mako                                   1.3.10
MarkupSafe                             2.1.5
mpmath                                 1.3.0
multidict                              6.7.0
networkx                               2.8.8
numpy                                  2.1.2
optree                                 0.13.0
packaging                              25.0
pillow                                 12.0.0
pip                                    25.3
propcache                              0.4.1
protobuf                               6.33.2
psutil                                 7.1.0
pydantic                               2.12.5
pydantic_core                          2.41.5
pydantic-settings                      2.12.0
pyproject_hooks                        1.2.0
python-dotenv                          1.2.1
PyYAML                                 6.0.3
regex                                  2025.11.3
requests                               2.32.5
rocm                                   7.11.0a20260104
rocm-sdk-core                          7.11.0a20260104
rocm-sdk-devel                         7.11.0a20260104
rocm-sdk-libraries-gfx103X-dgpu        7.11.0a20260104
safetensors                            0.7.0
scipy                                  1.16.3
sentencepiece                          0.2.1
setuptools                             79.0.1
six                                    1.17.0
sortedcontainers                       2.4.0
spandrel                               0.4.1
SQLAlchemy                             2.0.45
sympy                                  1.13.3
tokenizers                             0.22.1
torch                                  2.9.1+rocm7.11.0a20260104
torchaudio                             2.9.0+rocm7.11.0a20260104
torchsde                               0.2.6
torchvision                            0.24.0+rocm7.11.0a20260104
tqdm                                   4.67.1
trampoline                             0.1.2
transformers                           4.57.3
typing_extensions                      4.15.0
typing-inspection                      0.4.2
urllib3                                2.6.2
uv                                     0.9.21
wheel                                  0.45.1
yarl                                   1.22.0

这里需要打包的就是 rocm 开头的那几个:

rocm                                   7.11.0a20260104
rocm-sdk-core                          7.11.0a20260104
rocm-sdk-devel                         7.11.0a20260104
rocm-sdk-libraries-gfx103X-dgpu        7.11.0a20260104

打包 Wheel

使用以下命令打包

pip wheel rocm rocm-sdk-core rocm-sdk-devel rocm-sdk-libraries-gfx103X-dgpu --index-url https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/ --no-deps -w D:\Code\2\_temp

输出结果

Looking in indexes: https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/
Collecting rocm
  Downloading https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/rocm-7.11.0a20260117.tar.gz (15 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting rocm-sdk-core
  Downloading https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/rocm_sdk_core-7.11.0a20260117-py3-none-win_amd64.whl (654.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 654.1/654.1 MB 68.6 MB/s  0:00:09
Collecting rocm-sdk-devel
  Downloading https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/rocm_sdk_devel-7.11.0a20260117-py3-none-win_amd64.whl (1662.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 GB 50.1 MB/s  0:00:24
Collecting rocm-sdk-libraries-gfx103X-dgpu
  Downloading https://rocm.nightlies.amd.com/v2-staging/gfx103X-dgpu/rocm_sdk_libraries_gfx103x_dgpu-7.11.0a20260117-py3-none-win_amd64.whl (174.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 174.2/174.2 MB 75.2 MB/s  0:00:02
Saved d:\code\2\_temp\rocm_sdk_core-7.11.0a20260117-py3-none-win_amd64.whl
Saved d:\code\2\_temp\rocm_sdk_devel-7.11.0a20260117-py3-none-win_amd64.whl
Saved d:\code\2\_temp\rocm_sdk_libraries_gfx103x_dgpu-7.11.0a20260117-py3-none-win_amd64.whl
Building wheels for collected packages: rocm
  Building wheel for rocm (pyproject.toml) ... done
  Created wheel for rocm: filename=rocm-7.11.0a20260117-py3-none-any.whl size=20096 sha256=24085fa9b394c516a1288297adcd18d25d279c39d3f5ac2cb0c316f75aa28c4a
  Stored in directory: c:\users\deali\appdata\local\pip\cache\wheels\16\f6\32\7bd9cccb06a7f1ccbb85bd00ead32ef09260ab4f0ce8353ff2
Successfully built rocm

小结

很抱歉,我研究之后才发现无法从已经安装的 Lib\site-packages 里提取出 Wheel

所以只能从官方源重新下载了

这些包都很大,下载到本地,方便后续的项目使用

现在我本地有这些包:

    Directory: D:\Code\2\_temp

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2026/1/18    10:31      654090627 rocm_sdk_core-7.11.0a20260117-py3-none-win_amd64.whl
-a---           2026/1/18    10:31     1662025437 rocm_sdk_devel-7.11.0a20260117-py3-none-win_amd64.whl
-a---           2026/1/18    10:31      174187137 rocm_sdk_libraries_gfx103x_dgpu-7.11.0a20260117-py3-none-win_amd64.whl
-a---           2026/1/18    10:31          20096 rocm-7.11.0a20260117-py3-none-any.whl
-a---            2026/1/5    15:58      151148776 torch-2.9.1+rocm7.11.0a20260104-cp312-cp312-win_amd64.whl
-a---            2026/1/5    15:59         514989 torchaudio-2.9.0+rocm7.11.0a20260104-cp312-cp312-win_amd64.whl
-a---            2026/1/5    16:01        1247290 torchvision-0.24.0+rocm7.11.0a20260104-cp312-cp312-win_amd64.whl