文章目录

  • 写在前面
  • Python的安装(Mini-forge)
  • brew安装优化版本的NumPy及SciPy
  • Sublime的配置
  • 最后总结
  • 2021.1.14更新
  • 主要参考

写在前面

前面说到,m1 Mac book Air配置brew及TeX环境,使用起来十分丝滑(就是双brew环境比较麻烦),这次说说Python环境的支持与NumPy、SciPy科学计算库的安装与配置。

Python的安装(Mini-forge)

我采用了命令行安装基本版conda的方法(参考1),从github网站(地址)下载mini forge的bash版本,直接:

sh Miniforge3-MacOSX-arm64.sh

就可以完成安装了,环境变量是自动导入的。

安装包的时候需要先更换镜像,采用下面的命令进行镜像更换:

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

然而我更换镜像之后下载依旧很慢。。不清楚为什么。

安装包的话可以选择创建虚拟环境进行安装,也可以直接安装,在此不赘述。

brew安装优化版本的NumPy及SciPy

前几天看知乎,有位大佬还专门测试了apple silicon优化的numpy版本,据他测试比直接安装的numpy快了一倍以上,我配置好brew环境之后,就迫不及待地进行numpy的安装了。安装很简单,终端运行下面的命令即可:

ibrew install numpy
ibrew install scipy

这里使用ibrew是因为在brew网站中还没有numpy的原生版本,这里采用Rosetta转译的版本进行安装,更换完中科大镜像之后安装速度快到飞起,不行的话就^C多试几次就可以了。

Sublime的配置

使用Package Control安装anaconda和sublimerepl包,安装完之后进行以下的配置(注意我这里主要采用ibrew安装的numpy进行python编程,所以相应的目录也要修改一下):

SublimeREPL.sublime-settings文件中加入:

{"default_extend_env": {"PATH": "{PATH}:/usr/local/bin"}
}

文件的路径为:

修改/Users/xxx/Library/Application Support/Sublime Text 3/Packages/SublimeREPL/config/Python目录中的Main.sublimg-menu文件,id为repl_python_run的值修改为:

"cmd": ["/usr/local/bin/python3.9", "-u", "$file_basename"],

你也可以修改为自己常用的python路径。之后在快捷键绑定文件(keyblind)输入:

[{ "keys": ["f7"], "command": "toggle_setting", "args": {"setting": "word_wrap"} },{ "keys": ["f5"], "caption": "SublimeREPL: Python - RUN current file", "command": "run_existing_window_command", "args":{"id": "repl_python_run","file": "config/Python/Main.sublime-menu"}}
]

使按下F5时进行REPL的python运行,按下F7进行折行切换。

另外如果感觉每次都要切换选项卡比较麻烦的话可以将窗口切换为两行显示,这样就可以在上面编辑python程序,下面进行程序的运行了。

经过这样的配置,就可以使用F5调用brew环境的python,使用原来的command+B调用conda环境的python了。

最后总结

上面一套操作下来,我的Air中已经有了4个Python环境。。。分别是:

Python版本 路径(这里显示的是原始路径,Mac设置了软链接,新系统中称为"替身") 说明
Python3.8
(默认)
/usr/bin/python3 提供torch的二进制版本,我安装了torch,但是python3.9还不能安装
Python2.7
(默认)
/usr/bin/python2 基本不用
Python3.9
(brew,Intel版本)
/usr/local/Cellar/python@3.9/
3.9.1_6/Frameworks/Python.framework/
Versions/3.9/bin/python3.9
Python最新稳定版,
brew下安装的numpy包显著提高运行效率,
但是目前还不支持pandas,
并且在jupyter- notebook中无法导入numpy包,
目前还不清楚原因
Python3.9
(mini-forge)
/Users/hep/miniforge3/bin/python conda环境,python运行更稳定,支持pandas

这四个里面我目前主要还是使用brew下的优化版python及其包,将来brew完全支持m1后没准还要安装原生版brew的Python。。不过还是很期待的!


2021.1.14更新

Numpy有原生版啦(针对m1芯片优化过)!!安装上了本地编译版brew的numpy包,速度大有提升,而且占用的CPU还很小(由于没风扇,传感器温度达到了77。。),确实厉害!(亲自体验得出的结果,但是scipy还是不如intel版的brew安装的scipy速度快)安装方法是:

brew install numpy

安装过程中可能会出现SHA256 mismatch的error,但是不是大问题,安装命令会自动从源码托管地址下载源码并本地编译,过程可能会很久,最后的原生python路径及包的安装位置在:

Python has been installed as/opt/homebrew/bin/python3Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into/opt/homebrew/opt/python@3.9/libexec/binYou can install Python packages withpip3 install <package>
They will install into the site-package directory/opt/homebrew/lib/python3.9/site-packagesSee: https://docs.brew.sh/Homebrew-and-Python

需要添加到环境变量才能使用这个版本的python及其软件包。

之后还可以通过此方法安装原生版的scipy,ipython等包,感兴趣的话可以体验一下。
如果需要将本地编译版的python作为sublime运行程序的python,可以通过修改sublime REPL的main文件以及用户设置来实现,上面已经有写,但是这里推荐新建一个编译环境。有问题的话欢迎下方评论。

主要参考


  1. M1 Mac 安装numpy和pandas; ↩︎

m1 MBA配置python及Numpy科学计算环境相关推荐

  1. python【Numpy科学计算库】Numpy的超实用基础详细教程(看不懂你来打我)

    文章目录 Numpy简单介绍 1.Numpy是什么 2. 多维数组 numpy数据类型设定与转换 numpy索引与切片 多维数组索引.切片 数组文件输入输出 使用numpy.arange方法 使用nu ...

  2. python【Numpy科学计算库】连女朋友都会用的Numpy(真の能看懂~!)

    文章目录 1 Numpy属性 2 Numpy的创建array 3 Numpy 基础运算1 4 Numpy 基础运算2 5 Numpy索引 6 Numpy array合并 7 Numpy array分割 ...

  3. python科学计算环境配置_ATLAS + NumPy + SciPy + Theano 的Python科学计算环境搭建

    Theano是一个Python库,提供了定义.优化以及评估数学表达式的库,尤其适合处理高维数组.使用Theano能获得和C差不多的处理速度,并且当利用GPU进行计算时,效率要优于CPU上运行的C语言程 ...

  4. 机器学习利用Anaconda搭建Python科学计算环境

    Anaconda Anaconda是Python科学计算环境,除了必备的Python环境外,该有的其他科学计算包都有:numpy,sicpy,matplotlib,spyder-.. 镜像高速版下载地 ...

  5. 用python来玩科学计算

    用python来玩科学计算(准备工作) 个人来说很喜欢python的语言,但其实python本身并不适合做科学计算:首先作为动态脚本语言,其运行效率本来就低:其次占用内存也太大,下一篇介绍的一个简单的 ...

  6. 初识人工智能(一):数据分析(二):numpy科学计算基础库(一)

    1. numpy科学计算基础库 1.1 什么是numpy NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数 ...

  7. m1 MBA配置TeX+Sublime+Skim环境

    文章目录 写在前面 basicTeX安装 Sublime配置 其他配置 `minted`宏包的配置 LaTeXTools的配置 最后编译 主要参考 写在前面 之前已经写过了brew两个版本在m1 Ai ...

  8. 全栈python_Pyodide:在浏览器端实现Python全栈科学计算

    现在越来越多的软件都Web化,浏览器化.虽然科学计算是一计算密集型的方向,对性能要求和实时性较高.但是数据计算方面也一直在做着这样的探索和发展. Jypyer notbook项目让科学计算真正实现了W ...

  9. python科学计算主要学什么_以下哪些是python常用的科学计算库?_学小易找答案

    [单选题]17-51. 在 Windows 中,若要终止未响应的应用程序,可使用( ) [单选题]19-55.在 Windows控制面板中,下列无法实现的操作是 [单选题]witness的元素属性(比 ...

最新文章

  1. C#之自己定义的implicit和explicit转换
  2. php编程 第一节,PHP第一节php简介_PHP
  3. android闹钟——原代码【转】
  4. hoj 2739 中国邮局问题
  5. 前端----CSS层叠样式表
  6. 用c#创建支持多语言的WinForm应用程序 .
  7. 【图文详解:索引极简教程】SQL 查询性能优化原理
  8. 从WAVE头文件里获取压缩方式
  9. imp 导入dmp文件。
  10. 英语口语收集(十六)
  11. springboot 2.5.3 ActiveMQ踩坑笔记
  12. Learning Git Branching 题解(基础、高级、Git远程仓库)
  13. 天猫精灵智能家居对接,及天猫iot官网配置图文讲解(一)
  14. 一维条形码 code128 的全面介绍
  15. python中iter是什么意思_iter的用途是什么?
  16. HFDS的Shell操作
  17. java 异常管理员_Java异常处理机制
  18. 杭中国高铁“走出去”的意义
  19. 李宏毅机器学习2022 HW1
  20. ansible批量免密

热门文章

  1. Spring.Net---4、IoC/DI注入方式
  2. Git:错误:error:src refspec master does not match any
  3. IP trie树接口
  4. 谈谈Objective-C的警告 (转)
  5. SQL必知必会-组合查询
  6. 数据库都可以“自动驾驶”了,传统DBA何去何从?
  7. 20万DBA最关注的11个问题
  8. 聊聊数仓中TPCD-DSTPC-H与查询性能的那些事儿
  9. NB-IoT四大关键特性及实现告诉你,为啥NB
  10. 想知道你未来宝宝长什么样吗?