新入手了Macbook M1, 到手较早目前还没有成体系的配置流程,记录一下摸索配环境的过程
Python 配置
我在激活电脑时是用迁移助理将老mbp里的环境直接迁移过来的,也就是迁移了原电脑的python3.7.6
而python3.7是不支持M1的,虽然内部有我迁移过来的各类包,但是无法正常调用,如下图,在调用时会出现Illegal Instruction:4的报错
解决方案:
从python官网(https://www.python.org/)下载最新python3.9,可对M1进行支持
这里我同时在anaconda里新建了python3.9的环境,蓝色字体为环境命名,可随意替换
conda create -n python3.9 python=3.9
随后进行环境激活,将系统的python指令默认为python3.9
conda activate python3.9
随后我们基于python3.9进行各类包的安装并进行调用测试
- Pandas:可正常安装,可调用
- Numpy:可正常安装,可调用
- Scipy:可正常安装,可调用
- Matplotlib:可正常安装,可调用
- Sklearn:由于python3.9是十月发布的,开发者表示还未完全开发完毕(https://github.com/scikit-learn/scikit-learn/issues/18621),目前进度为可通过 conda install -c conda-forge scikit-learn 进行安装,但是还未实现pip安装(在做了在做了); 通过conda-forge安装完毕,可正常调用
在 https://pyreadiness.org/3.9/ 此网站可查询目前已经支持python3.9的包
软件适配
在https://doesitarm.com/可查询主流app对M1的适配情况
- Anaconda:可正常运行
- VScode:更新至1.51.1即可正常使用,
但是在处理ipynb文件进行package import时还存在一些问题 jupyter底层修改后也可正常运行
- Notebook Jupyter:
目前无法正常使用,kernel will get crash; 发现了一个在docker运行的指示https://github.com/vladmarica/jupyter-notebook-docker-arm,但是目前docker还未更新到适配ARM 感谢https://www.youtube.com/watch?v=mwmke957ki4&feature=youtu.be&t=2740这位老哥,通过修改底层.../ipykernel/eventloops.py代码如下图,jupyter notebook亦可正常运行
- IntelliJ IDEA: 可借助Rosetta 2 正常使用,scala可编译
- Office N件套:可正常使用
- 微信QQ等:均可正常使用
- 各类游戏:还未测试,目前ios端的游戏还没做到键鼠适配,希望早日能挂阴阳师
SQL配置
To be update
小总结
目前在搜索信息时发现各大开发者都在加快更新进程,可能前一天还表明尚未适配,第二天就发布了最新稳定版。App开发者加速适配M1,package开发者加速适配python3.9,体会到了程序员的不容易以及新产品的日新月异。在发现问题时搜索发现同行在几天前发布了同样的问题的过程真的很奇特。M1这个螃蟹吃的虽然有点麻烦,但是过程还是收获很多,蛮香