M1 macOS下创建Conda环境失败:出现ResolvePackageNotFound错误
问题描述
在M1 macOS设备上部署Stable Diffusion,已通过以下命令成功安装Miniconda3:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh bash Miniconda3-latest-MacOSX-arm64.sh
执行conda env create -f environment.yaml创建环境时,触发如下依赖解析错误:
ResolvePackageNotFound: - python=3.8.5 - cudatoolkit=11.3 - pip=20.3 - torchvision=0.12.0
使用的environment.yaml内容如下:
name: ldm channels: - pytorch - defaults dependencies: - python=3.8.5 - pip=20.3 - cudatoolkit=11.3 - pytorch=1.11.0 - torchvision=0.12.0 - numpy=1.19.2 - pip: - albumentations==0.4.3 - diffusers - opencv-python==4.1.2.30 - pudb==2019.2 - invisible-watermark - imageio==2.9.0 - imageio-ffmpeg==0.4.2 - pytorch-lightning==1.4.2 - omegaconf==2.1.1 - test-tube>=0.7.5 - streamlit>=0.73.1 - einops==0.3.0 - torch-fidelity==0.3.0 - transformers==4.19.2 - torchmetrics==0.6.0 - kornia==0.6 - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - -e git+https://github.com/openai/CLIP.git@main#egg=clip - -e .
解决方案
错误根源是原配置文件针对NVIDIA CUDA环境编写,而M1 macOS基于ARM架构,依赖Apple Metal加速而非CUDA,需修改配置适配Apple Silicon:
- 移除CUDA依赖:删除
cudatoolkit=11.3,M1无需CUDA组件。 - 替换ARM兼容的版本号:
- Python:原3.8.5在ARM版Conda源中无适配包,替换为
python=3.10(Apple Silicon支持的稳定版本) - Pip:更新为
pip=23.0,确保兼容ARM架构 - PyTorch系列:替换为Apple Silicon适配版本,如
pytorch=2.0.0、torchvision=0.15.1、torchaudio=2.0.1 - Numpy:更新为
numpy=1.24.3,解决版本兼容问题
- Python:原3.8.5在ARM版Conda源中无适配包,替换为
- 调整源优先级:将
conda-forge置于channels首位,该源提供大量ARM兼容包。
修改后的environment.yaml示例:
name: ldm channels: - conda-forge - pytorch - defaults dependencies: - python=3.10 - pip=23.0 - pytorch=2.0.0 - torchvision=0.15.1 - torchaudio=2.0.1 - numpy=1.24.3 - pip: - albumentations==0.4.3 - diffusers - opencv-python==4.1.2.30 - pudb==2019.2 - invisible-watermark - imageio==2.9.0 - imageio-ffmpeg==0.4.2 - pytorch-lightning==1.4.2 - omegaconf==2.1.1 - test-tube>=0.7.5 - streamlit>=0.73.1 - einops==0.3.0 - torch-fidelity==0.3.0 - transformers==4.19.2 - torchmetrics==0.6.0 - kornia==0.6 - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - -e git+https://github.com/openai/CLIP.git@main#egg=clip - -e .
- 执行安装与验证:
- 运行修改后的配置创建环境:
conda env create -f environment.yaml - 激活环境:
conda activate ldm - 验证Metal加速支持:执行
python -c "import torch; print(torch.backends.mps.is_available())",输出True即表示配置生效。
- 运行修改后的配置创建环境:
若部分pip包安装失败,可尝试pip install --no-cache-dir [包名]绕过缓存问题。
内容的提问来源于stack exchange,提问作者Hoff
相关产品推荐
相关产品推荐

