Big Sur (Intel)安装 Python3 的正确姿势是什么

2021-02-15 03:57:51 +08:00
 xuegy

替代 Matlab 做数值计算用,最好能链接到 MKL 之类的库否则速度差太多,同时不想安装太多无关的包。

  1. Homebrew 安装
  2. Anaconda 安装
  3. python.org 安装
  4. 自己编译

哪个最靠谱?

2954 次点击
所在节点    macOS
19 条回复
Trim21
2021-02-15 03:59:37 +08:00
要链接 mkl 不需要特别的 python,需要特别的 numpy
xuegy
2021-02-15 04:03:53 +08:00
@Trim21 所以随便装,然后 pip install ?
Trim21
2021-02-15 04:12:35 +08:00
@xuegy 对,windows 下面有跟 mkl 编译的 numpy,我不知道 macos 上面有没有
xuegy
2021-02-15 04:15:13 +08:00
@Trim21 这个办法应该是凉了
$ pip3 install intel-numpy
ERROR: Could not find a version that satisfies the requirement intel-numpy
ERROR: No matching distribution found for intel-numpy
Trim21
2021-02-15 06:31:40 +08:00
@xuegy #4 不是。。。。windows 下面 numpy+mkl 我是在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到的,我不知道 macOS 下面有没有人编译好
noqwerty
2021-02-15 07:20:51 +08:00
Anaconda (Miniconda) 默认就是带 MKL 的
IgniteWhite
2021-02-15 07:30:48 +08:00
brew 安装 pyenv,然后用 pyenv 安装 miniconda,创建一个独立基于 miniconda 的 pyenv-virtualenv,在里面再用 miniconda 安装 mpl 等等你需要的包。

1:为什么用 pyenv (或者其他你喜欢的 env 管理器)?
和系统 python 的包混杂在一起简直是噩梦,在 venv 里做依赖隔离必不可少。

2:关于 mkl 版本的 numpy,anaconda 几年前已经做好了 macOS 下 mkl 的兼容,所以我上面建议安装 miniconda,只有基本的 conda,没有安装任何你不想要的包。在里面 conda install -c conda-forge numpy 的版本就是 mkl 的。见 https://stackoverflow.com/a/32748758/10039621

如果你想用 jupyter,欢迎参考我之前的帖子: /t/732571 这里分享的经历是我能想到最复杂的配置状况了。
noqwerty
2021-02-15 08:03:00 +08:00
@IgniteWhite #7 请问这里 pyenv 起到什么作用呢?我一直是直接用 Miniconda ( https://docs.conda.io/en/latest/miniconda.html) 或者 miniforge ( https://github.com/conda-forge/miniforge) 的,conda 本身不是已经起到了管理 Python 环境的功能了吗
IgniteWhite
2021-02-15 08:10:27 +08:00
@noqwerty 是的,直接用 conda env 也行的,实际上 pyenv 在建立 conda 虚拟环境的时候也会优先调用 conda 命令。我的建议仅供参考,看个人需求。我这边是有一个安装非 conda 版本 python 的需求,因为有些包没上 conda-forge 只在 pypi 上有,所以就用 pyenv 了
noqwerty
2021-02-15 08:25:26 +08:00
@IgniteWhite #9 哦哦这样,我跟你是反过来的😂我是在 conda 环境里又装了 pip,然后 conda-forge 上没有的包再用这个 pip 装
renmu123
2021-02-15 08:29:36 +08:00
pyenv 是管理各个不同版本的 Python 版本,conda 是管理不同包的版本
jimages
2021-02-15 08:32:58 +08:00
pyenv 装 pypy,然后装一个 mkl,然后手动编译一个链接 mkl 的 numpy 。
IgniteWhite
2021-02-15 08:38:41 +08:00
@noqwerty
@renmu123
@jimages
借楼问各位一个问题:conda 有个回滚的功能,能把单次改动里面新装的包和它依赖都回滚。不知 pip 有没有类似的功能?
aydd2004
2021-02-15 10:42:30 +08:00
我一直都是命令行直接输入 python3 系统直接帮我装完

然后再根据需求装库
zhouwb
2021-02-15 13:51:52 +08:00
big sur 不是有自带 python3 吗?我平时不用,但我在终端里可以打出 p3 命令的
alazysun
2021-02-15 20:53:31 +08:00
conda
deetz
2021-02-15 23:33:22 +08:00
@IgniteWhite 赞👍
mortintojmax
2021-02-17 18:19:36 +08:00
去装 intel python 一套不就得了,啥都给你搞好了
jeeyong
2021-02-17 21:25:22 +08:00
依次安装
brew -> pyenv -> pyenv install 3.7.9
pyenv global 3.7.9

如此....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/753348

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX