目前推荐在 OS X 上安装 SciPy 生态系统的方法是什么?

计算科学 Python
2021-11-29 07:50:01

我刚买了一台新的 Macbook,决定从头开始安装所有东西,而不是迁移。以前我总是通过 MacPorts 安装 SciPy 等,但最近 MacPorts 整体上似乎不像以前那样干净,我花了很多时间跟踪它的问题。我通常也使用 MacPorts(而不是 pip 或 easy_install)来安装 Python 库。

所以我想知道这些天是否有更好的方法来安装 SciPy 和朋友。我知道有许多一体式软件包,例如 Anaconda,但我不知道这是否比使用 MacPorts 安装好还是差。我也知道 Homebrew 作为 MacPorts 的更新替代品存在,但在搜索两者之间的比较时,我没有收集到太多有用的信息。

所以我的问题是是否通常建议安装 Anaconda 或其他类似的软件包,或者使用 MacPorts 或 Homebrew,或其他一些解决方案。我意识到这个问题可能有点基于意见,所以如果答案能坚持关于各种选项的相关事实,我将不胜感激,因为它们与维护科学的 Python 发行版有关。

另外,如果我确实使用 MacPorts 或 Homebrew,当我想安装新库时,我通常应该使用包管理器,还是以这种方式安装基本包并使用 pip 来处理其他一切更好?

3个回答

我看到上一个答案的唯一缺失部分是您提到的 Anaconda 包。我只是想补充一点,它似乎适合通过图形安装程序进行“惰性”安装。

缺点是它安装了很多包,其中一些可能对您的使用不感兴趣。

我宁愿怀疑这个问题的答案几乎完全是基于意见的,正确的答案取决于你系统上已经拥有(或需要)的东西,但就我声称的大部分可验证的事实而言:

  • 编写自己的 Homebrew 食谱需要使用 Ruby,它在 cv 上看起来更好,而且现在比 Macports 使用的 tcl 稍微有用一些。这仅在可用的软件包不支持您想要做的事情时才重要,但对于繁重的科学计算来说,这很常见。

  • Macports 在构建整个工具链方面仍然比使用 mac 提供的工具更严格。如果您针对 python 进行编译,这很可能对您很重要,当为构建过程获取正确的标志时会变得更加疯狂,但最终结果可以使 gcc 更加友好。

  • 上次我检查时,Macports 的包要多得多,尽管变体系统的实现可能意味着来自不同维护者的包不能很好地协同工作,尤其是当 openmpi 和编译器选择很重要时。

  • 当包不能很好地协同工作时,pip plus virtualenv 可以提供很好的沙盒环境(我特别考虑了 FEniCS 项目支持下的各种工具)。有人告诉我 pip 卸载并不总是如您所愿,但我自己从未遇到过这种情况。

披露:我主要使用 macports,还不敢升级到 El Capitan。

我使用 pip 作为包管理器,使用 PyCharm 作为我的环境。我安装了一段时间的 Anaconda,但发现很难集成不属于 Anaconda 发行版的库。