Big Sur (Intel)安装 Python3 的正确姿势是什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuegy
V2EX    macOS

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

  •  
  •   xuegy 2021-02-15 03:57:51 +08:00 3275 次点击
    这是一个创建于 1703 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    哪个最靠谱?

    第 1 条附言    2021-02-15 08:59:54 +08:00

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

    19 条回复    2021-02-17 21:25:22 +08:00
    Trim21
        1
    Trim21  
       2021-02-15 03:59:37 +08:00
    要链接 mkl 不需要特别的 python,需要特别的 numpy
    xuegy
        2
    xuegy  
    OP
       2021-02-15 04:03:53 +08:00
    @Trim21 所以随便装,然后 pip install ?
    Trim21
        3
    Trim21  
       2021-02-15 04:12:35 +08:00
    @xuegy 对,windows 下面有跟 mkl 编译的 numpy,我不知道 macos 上面有没有
    xuegy
        4
    xuegy  
    OP
       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
        5
    Trim21  
       2021-02-15 06:31:40 +08:00
    @xuegy #4 不是。。。。windows 下面 numpy+mkl 我是在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到的,我不知道 macOS 下面有没有人编译好
    noqwerty
        6
    noqwerty  
       2021-02-15 07:20:51 +08:00
    Anaconda (Miniconda) 默认就是带 MKL 的
    IgniteWhite
        7
    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
        8
    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
        9
    IgniteWhite  
       2021-02-15 08:10:27 +08:00
    @noqwerty 是的,直接用 conda env 也行的,实际上 pyenv 在建立 conda 虚拟环境的时候也会优先调用 conda 命令。我的建议仅供参考,看个人需求。我这边是有一个安装非 conda 版本 python 的需求,因为有些包没上 conda-forge 只在 pypi 上有,所以就用 pyenv 了
    noqwerty
        10
    noqwerty  
       2021-02-15 08:25:26 +08:00   1
    @IgniteWhite #9 哦哦这样,我跟你是反过来的我是在 conda 环境里又装了 pip,然后 conda-forge 上没有的包再用这个 pip 装
    renmu123
        11
    renmu123  
       2021-02-15 08:29:36 +08:00 via Android
    pyenv 是管理各个不同版本的 Python 版本,conda 是管理不同包的版本
    jimages
        12
    jimages  
       2021-02-15 08:32:58 +08:00 via Android
    pyenv 装 pypy,然后装一个 mkl,然后手动编译一个链接 mkl 的 numpy 。
    IgniteWhite
        13
    IgniteWhite  
       2021-02-15 08:38:41 +08:00
    @noqwerty
    @renmu123
    @jimages
    借楼问各位一个问题:conda 有个回滚的功能,能把单次改动里面新装的包和它依赖都回滚。不知 pip 有没有类似的功能?
    aydd2004
        14
    aydd2004  
       2021-02-15 10:42:30 +08:00
    我一直都是命令行直接输入 python3 系统直接帮我装完

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

    如此....
    关于     帮助文档     自助推广系统     博客   span class="snow">   API     FAQ     Solana     4186 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:11 PVG 12:11 LAX 21:11 JFK 00:11
    Do have faith in what you're doing.
    ubao 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