Mac M1 Monterey环境下Poetry安装Torch报错:找不到nvidia-cudnn-cu11安装候选
Mac M1 Monterey环境下Poetry安装Torch失败的问题与解决
问题描述
运行环境:Mac M1 Monterey,干净环境,Python 3.8.13,Poetry 1.2.2(按官方流程安装)
执行poetry add torch安装Torch时触发RuntimeError,提示无法找到nvidia相关依赖包的安装候选,错误日志如下:
✗ python --version Python 3.8.13 ✗ poetry --version Poetry (version 1.2.2) ✗ poetry add torch Using version ^1.13.0 for torch Updating dependencies Resolving dependencies... (0.1s) Package operations: 5 installs, 0 updates, 0 removals • Installing nvidia-cublas-cu11 (11.10.3.66): Pending... • Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed RuntimeError • Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed RuntimeError • Installing nvidia-cublas-cu11 (11.10.3.66): Failed • Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed • Installing nvidia-cudnn-cu11 (8.5.0.96): Failed RuntimeError Unable to find installation candidates for nvidia-cudnn-cu11 (8.5.0.96) at ~/Library/Application Support/pypoetry/venv/lib/python3.8/site-packages/poetry/installation/chooser.py:103 in choose_for 99│ 100│ links.append(link) 101│ 102│ if not links: → 103│ raise RuntimeError(f"Unable to find installation candidates for {package}") 104│ 105│ # Get the best link 106│ chosen = max(links, key=lambda link: self._sort_key(package, link)) 107│
但使用pip install torch可正常完成安装:
✗ pip install torch Collecting torch Downloading torch-1.13.0-cp38-none-macosx_11_0_arm64.whl (55.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.3/55.3 MB 3.0 MB/s eta 0:00:00 Requirement already satisfied: typing-extensions in /Users/vincent/Library/Caches/pypoetry/virtualenvs/recommend-drawify-iwMS_JJ1-py3.8/lib/python3.8/site-packages (from torch) (4.4.0) Installing collected packages: torch Successfully installed torch-1.13.0
解决方法
问题本质是Poetry默认尝试拉取适配NVIDIA CUDA的Torch包,但Mac M1为ARM架构且无NVIDIA GPU,不需要这些CUDA依赖。可通过以下方式解决:
- 指定平台安装
直接在命令中指定Mac M1适配的版本:
poetry add torch@1.13.0 --platform macos_arm64
- 配置pyproject.toml
在项目的pyproject.toml中明确Torch的平台约束,确保Poetry优先选择适配包:
[tool.poetry.dependencies] python = "^3.8" torch = { version = "^1.13.0", platform = "macos_arm64" }
- 借助pip过渡
若上述方法无效,先通过pip install torch完成安装,再执行poetry add torch让Poetry识别已安装包,或直接将Torch版本信息写入pyproject.toml后执行poetry install。
内容的提问来源于stack exchange,提问作者Vincent Claes
相关产品推荐
相关产品推荐

