麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

「GIS教程」M1 Mac安装Conda

继续折腾M1的开发环境,今天的主题是在M1的Mac上配置Python开发环境,众所周知的原因,Python这个鬼东西版本多还不兼容,为了在不同的项目使用不同的Python开发环境,诞生了神器:Conda。

之前一直使用的是Anaconda,后来在好友的撺掇下又使用了精简的 Miniconda,这次换上M1之后也Miniconda,结果发现截止发文(2021-12-08),目前市面上Anaconda和Miniconda均不能原生支持M1芯片。其实可以直接装,因为系统会自动转译,但我有点强迫症,还是想装原生的。后来发现了这个:Miniforge。地址:https://github.com/conda-forge/miniforge/#download

安装

很多教程上让下载xxxx.sh的方法来安装,但我还是推荐使用官网的方法:

curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh
bash Mambaforge-$(uname)-$(uname -m).sh

如果系统中没有curl,可以使用下面的方法

wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh
bash Mambaforge-$(uname)-$(uname -m).sh

你会发现默认安装的Mambaforge,Mamba多了多线程支持,可以更快速的下载。

切换源(可选,未测试)

国内下载速度有点慢,我们可以换一个国内的源。我不喜欢用国内的源,有这个需求的可以尝试。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

使用x86的包

这种方法安装的Python3.9虽然原生支持M1,但只能安装支持osx-arm64的库,原因是安装时附带的Python 3.9是原生的,不可能链接到x86的库上,要使用并不支持osx-arm64的库。

如果一些库只支持x86,我们需要建立一个转译的环境。

# 新建名为rosetta的虚拟环境,该环境中的Python架构为x86,经过转译运行
CONDA_SUBDIR=osx-64 conda create -n rosetta python
conda activate rosetta
python -c "import platform;print(platform.machine())"  # 应输出“x86_64”

# make sure that conda commands in this environment use intel packages
conda env config vars set CONDA_SUBDIR=osx-64

conda deactivate      # 需要reactivate该虚拟环境,以使设置生效
conda activate rosetta
echo "CONDA_SUBDIR: $CONDA_SUBDIR"       # 应输出“CONDA_SUBDIR: osx-64”

conda install ...                 # 安装你想用的包 

结语

其实M1的 rosetta 已经做的比较优秀了,做开发还是很香的,整体下来也没怎么折腾。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)