ARM64架构MacBook Pro无法通过Conda安装astromatic-source-extractor
关于ARM64 MacBook Pro通过Conda安装astromatic-source-extractor的问题解析
核心原因拆解
- Conda搜不到包的本质:conda-forge频道里的
astromatic-source-extractor暂未提供ARM64(osx-arm64)架构的预编译包。Conda默认只会检索与当前系统架构匹配的包,所以调频道优先级解决不了架构不匹配的问题。 - 手动安装后报错的根源:你下载的安装包是x86_64架构版本,它依赖的
libcfitsio.10.dylib也要求x86_64版本,但你直接装的cfitsio是ARM64版,二者架构不兼容,自然报错。 - 同机型用户成功的关键:这些用户大概率是创建了x86_64架构的Conda环境,借助Mac的Rosetta 2转译功能运行。当环境被设为x86_64时,Conda会自动拉取对应架构的所有依赖(包括匹配版本的x86_64版cfitsio),不会出现架构冲突。
可行解决办法
方法1:创建x86_64架构的Conda环境(推荐,操作简单)
- 确保Mac已启用Rosetta 2:如果之前没装过,终端运行
softwareupdate --install-rosetta完成安装。 - 创建x86_64专属环境:
CONDA_SUBDIR=osx-64 conda create -n sextractor_x86 python=3.9 - 激活环境并锁定架构:
conda activate sextractor_x86 conda config --env --set subdir osx-64 - 正常安装包:
此时Conda会自动拉取所有x86_64架构的依赖,运行时Rosetta 2会自动转译,无需额外操作。conda install -c conda-forge astromatic-source-extractor
方法2:源码编译ARM64版本(进阶,无转译开销)
如果不想依赖Rosetta转译,可以自行编译ARM64原生版本:
- 安装编译所需依赖:
conda install -c conda-forge cfitsio wcslib gcc llvm - 克隆官方源码:
git clone https://github.com/astromatic/sextractor.git cd sextractor - 编译并安装到当前Conda环境:
编译完成后就能在ARM64环境下原生运行,不存在架构兼容问题。./configure --prefix=$CONDA_PREFIX make make install
内容的提问来源于stack exchange,提问作者bajotupie
相关产品推荐
相关产品推荐

