V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xuegy
V2EX  ›  macOS

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

  •  
  •   xuegy · Feb 15, 2021 · 3613 views
    This topic created in 1907 days ago, the information mentioned may be changed or developed.

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

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

    哪个最靠谱?

    Supplement 1  ·  Feb 15, 2021

    感谢各位的建议,装了miniconda然后手动装numpy,scipy和matplotlib,查了show_config()确实是自带MKL,考虑到我的需求仅仅是代替Matlab,应该完全够用了。 然后又装了个VS Code,什么都没配置居然自动识别了miniconda,也没出现任何冲突。微软不愧为苹果最佳开发者。

    19 replies    2021-02-17 21:25:22 +08:00
    Trim21
        1
    Trim21  
       Feb 15, 2021
    要链接 mkl 不需要特别的 python,需要特别的 numpy
    xuegy
        2
    xuegy  
    OP
       Feb 15, 2021
    @Trim21 所以随便装,然后 pip install ?
    Trim21
        3
    Trim21  
       Feb 15, 2021
    @xuegy 对,windows 下面有跟 mkl 编译的 numpy,我不知道 macos 上面有没有
    xuegy
        4
    xuegy  
    OP
       Feb 15, 2021
    @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
        5
    Trim21  
       Feb 15, 2021
    @xuegy #4 不是。。。。windows 下面 numpy+mkl 我是在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到的,我不知道 macOS 下面有没有人编译好
    noqwerty
        6
    noqwerty  
       Feb 15, 2021
    Anaconda (Miniconda) 默认就是带 MKL 的
    FurN1
        7
    FurN1  
       Feb 15, 2021
    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
        8
    noqwerty  
       Feb 15, 2021
    @IgniteWhite #7 请问这里 pyenv 起到什么作用呢?我一直是直接用 Miniconda ( https://docs.conda.io/en/latest/miniconda.html) 或者 miniforge ( https://github.com/conda-forge/miniforge) 的,conda 本身不是已经起到了管理 Python 环境的功能了吗
    FurN1
        9
    FurN1  
       Feb 15, 2021
    @noqwerty 是的,直接用 conda env 也行的,实际上 pyenv 在建立 conda 虚拟环境的时候也会优先调用 conda 命令。我的建议仅供参考,看个人需求。我这边是有一个安装非 conda 版本 python 的需求,因为有些包没上 conda-forge 只在 pypi 上有,所以就用 pyenv 了
    noqwerty
        10
    noqwerty  
       Feb 15, 2021   ❤️ 1
    @IgniteWhite #9 哦哦这样,我跟你是反过来的😂我是在 conda 环境里又装了 pip,然后 conda-forge 上没有的包再用这个 pip 装
    renmu123
        11
    renmu123  
       Feb 15, 2021 via Android
    pyenv 是管理各个不同版本的 Python 版本,conda 是管理不同包的版本
    jimages
        12
    jimages  
       Feb 15, 2021 via Android
    pyenv 装 pypy,然后装一个 mkl,然后手动编译一个链接 mkl 的 numpy 。
    FurN1
        13
    FurN1  
       Feb 15, 2021
    @noqwerty
    @renmu123
    @jimages
    借楼问各位一个问题:conda 有个回滚的功能,能把单次改动里面新装的包和它依赖都回滚。不知 pip 有没有类似的功能?
    aydd2004
        14
    aydd2004  
       Feb 15, 2021
    我一直都是命令行直接输入 python3 系统直接帮我装完

    然后再根据需求装库
    zhouwb
        15
    zhouwb  
       Feb 15, 2021 via iPhone
    big sur 不是有自带 python3 吗?我平时不用,但我在终端里可以打出 p3 命令的
    alazysun
        16
    alazysun  
       Feb 15, 2021
    conda
    deetz
        17
    deetz  
       Feb 15, 2021 via iPhone
    @IgniteWhite 赞👍
    mortintojmax
        18
    mortintojmax  
       Feb 17, 2021
    去装 intel python 一套不就得了,啥都给你搞好了
    jeeyong
        19
    jeeyong  
       Feb 17, 2021
    依次安装
    brew -> pyenv -> pyenv install 3.7.9
    pyenv global 3.7.9

    如此....
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5249 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 09:42 · PVG 17:42 · LAX 02:42 · JFK 05:42
    ♥ Do have faith in what you're doing.