Linux环境安装带CUDA/C++扩展的Apex报错legacy-install-failure求助
解决Apex安装时的
ModuleNotFoundError: No module named 'packaging'错误 错误原因
该错误核心原因是当前Python环境未安装packaging模块,而Apex在安装过程中生成元数据时必须依赖这个包,因此触发metadata-generation-failed和legacy-install-failure错误。此问题与PyTorch/CUDA版本兼容、Apex源码本身无关。
解决步骤
- 先安装缺失的
packaging依赖:
pip install packaging
- 回到Apex目录,重新执行安装命令:
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
补充:如果之前克隆Apex的命令有误(原命令缺少
https://前缀),请先重新克隆源码:git clone https://github.com/NVIDIA/apex cd apex
版本兼容与源码问题说明
- 你的环境(PyTorch 1.13.1 + CUDA 11.7)符合Apex的官方兼容要求,Apex支持PyTorch 1.5+及对应匹配的CUDA版本,不存在版本兼容问题。
- 此错误并非Apex源码缺陷,仅为安装前的环境依赖遗漏,补全依赖后即可正常完成安装。
内容的提问来源于stack exchange,提问作者kobe Bryant
相关产品推荐
相关产品推荐

