求助:使用MuSA.yml创建Conda环境时遇ResolvePackageNotFound错误
解决M1 Pro Mac上Conda环境创建的ResolvePackageNotFound错误
问题根源
你提供的MuSA.yml是针对x86架构(Linux或Intel Mac)生成的,所有包的build后缀(如py39h7deecbd_0)都是x86平台专属。而你的M1 Pro是arm64架构,conda无法找到对应架构的这些特定版本包;另外,yml中的MKL系列包是英特尔专属优化库,M1芯片不支持,这也是导致失败的关键原因。
解决方案
1. 修改环境配置文件
复制原MuSA.yml并修改以下内容:
- 移除build号:所有形如
package==version=build的条目,改为package>=version或仅保留package(让conda自动适配arm64的最新兼容版本) - 替换MKL依赖:删除
mkl、mkl_fft、mkl_random、mkl-service、intel-openmp、_openmp_mutex,添加openblas作为替代(M1支持的开源线性代数库) - 添加conda-forge渠道:将
conda-forge放在渠道列表最前面,因为多数arm64兼容包仅在该渠道提供
修改后的示例配置:
name: MuSA channels: - conda-forge - defaults dependencies: - python=3.9 - cftime>=1.6.2 - libevent - libcurl - packaging>=23.0 - ca-certificates - dill>=0.3.6 - libthrift - libssh2 - zstd - pyqt=5.15.* - lz4-c - qt-main=5.15.* - aws-c-event-stream - aws-c-common - cffi>=1.15.1 - numba>=0.56.4 - lcms2 - numpy-base>=1.23.5 - re2 - netcdf4>=1.6.2 - arrow-cpp>=10.0.1 - statsmodels>=0.13.5 - gflags - bottleneck>=1.3.5 - certifi>=2022.12.7 - glog - ncurses - pysocks>=1.7.1 - lerc - mpi4py>=3.1.4 - grpc-cpp - libnghttp2 - hdf4 - tornado>=6.2 - gst-plugins-base - fontconfig - libbrotlienc - scikit-learn>=1.2.1 - ipython>=8.10.0 - llvmlite>=0.39.1 - traitlets>=5.7.1 - libxml2 - freetype - icu - qt-webengine=5.15.* - sqlite - jedi>=0.18.1 - pyarrow>=10.0.1 - brotli-bin - pyopenssl>=23.0.0 - libwebp-base - libboost - dbus - gstreamer - scipy>=1.10.0 - aws-sdk-cpp - nspr - libprotobuf>=3.20.3 - qtwebkit=5.212 - patsy>=0.5.3 - curl - pillow>=9.4.0 - brotli - libllvm10 - giflib - multiprocess>=0.70.14 - urllib3>=1.26.14 - joblib>=1.1.1 - wheel>=0.38.4 - kiwisolver>=1.4.4 - matplotlib-base>=3.7.1 - prompt-toolkit>=3.0.36 - hdf5 - libpq - boost-cpp>=1.73.0 - xz - zipp>=3.11.0 - nss - contourpy>=1.0.5 - pytz>=2022.7 - matplotlib-inline>=0.1.6 - libbrotlicommon - zlib - c-ares - jpeg - orc - libdeflate - matplotlib>=3.7.1 - tbb - libuuid - libzip - glib - numexpr>=2.8.4 - pcre - bzip2 - expat - abseil-cpp - libev - brotlipy>=0.7.0 - libxslt - tk - cryptography>=39.0.1 - pyparsing>=3.0.9 - libwebp - libbrotlidec - pyqt5-sip>=12.11.0 - openssl - pip>=23.0.1 - libffi - libllvm11 - libxkbcommon - setuptools>=65.6.3 - numpy>=1.23.5 - krb5 - libnetcdf>=4.8.1 - utf8proc - libclang>=10.0.1 - sip>=6.6.2 - idna>=3.4 - requests>=2.28.1 - aws-checksums - snappy - libpng - pandas>=1.5.3 - libedit - ply>=3.11 - libtiff>=4.5.0 - readline - openblas
2. 清理conda缓存(可选)
如果之前的失败导致缓存异常,执行以下命令清理:
conda clean -a
3. 创建环境
使用修改后的配置文件创建环境:
conda env create -f modified_MuSA.yml
如果仍有冲突,尝试添加--force参数强制创建:
conda env create -f modified_MuSA.yml --force
4. 处理个别包的安装问题
如果某些包(如PyQt相关)仍无法通过conda安装,可在环境激活后用pip安装:
conda activate MuSA pip install pyqt==5.15.7 pyqt5-sip==12.11.0
内容的提问来源于stack exchange,提问作者Bareera Nadeem Mirza
相关产品推荐
相关产品推荐

