你是不是也遇到了ModuleNotFoundError: No module named ‘packaging‘ error: subprocess-exited-with-error错误?
apex介绍
此存储库包含nvidia维护的实用程序,以简化Pytorch中的混合精度和分布式训练。
这里的一些代码最终将包含在上游Pytorch中。
Apex的目的是尽可能快地向用户提供最新的实用程序。
nvidia的apex更新很频繁,所以在调试老代码的时候就会存在版本问题或者兼容问题或者压根安装不上的问题。
官方github下载地址:Apex (A PyTorch Extension) — Apex 0.1.0 documentation
打开后可以选择历史版本:
比如你调试的代码的torch版本1.13,cuda版本11.7,就可以选择22.05-dev,下载解压到你的文件目录下。(可以一次多下几个版本,多尝试不同版本)
在readme文件中,往下翻,有安装命令示例。(不同版本的位置行号、命令参数都略有不同)
cd 到目录下
执行即可,安装过程较慢,耐心等待,如果失败,
ModuleNotFoundError: No module named 'packaging'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: 'D:\SOFTWARE\Anaconda\Anaconda3\envs\Dunit\python.exe' 'D:\SOFTWARE\Anaconda\Anaconda3\envs\Dunit\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' get_requires_for_build_wheel 'C:\Users\admin\AppData\Local\Temp\tmpsb751068'
cwd: C:\Users\admin\apex
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
请换一个版本。建议从最新版本往早期版本尝试。
最后,补充一个强行安装的命令,可以尝试:
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --no-build-isolation --global-option="--cpp_ext" --global-option="--cuda_ext" --global-option="--deprecated_fused_adam" --global-option="--xentropy" --global-option="--fast_multihead_attn" ./
另外,apex也支持仅python模式,当做以上尝试都失败的方案。缺点,运行速度较慢。
pip install -v --disable-pip-version-check --no-cache-dir ./
相关问题:上GitHub进入https://github.com/NVIDIA/apex/issues/1679看别人如何解决试出来,亲测有效,常见问题上面都有!祝大家运行顺利!