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

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

  •  
  •   xuegy Feb 15, 2021 3630 views
    This topic created in 1912 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-foge 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
    add2004  
       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
    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     3484 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 81ms UTC 11:51 PVG 19:51 LAX 04:51 JFK 07:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86