【问题标题】:How to use pandas on M1 mac? (without rosetta or changing to x86 environment in any other way)如何在 M1 mac 上使用 pandas? (没有rosetta或以任何其他方式更改为x86环境)
【发布时间】:2022-01-09 22:10:41
【问题描述】:

上次我写了一个 python 项目是在不到 2 个月前,一切正常。我不确定在处理其他项目时是否在我的 mac 上搞砸了一些东西,但现在当尝试运行曾经完美运行的 python 文件时,会出现以下错误:

dlopen(/opt/homebrew/lib/python3.9/site-packages/pandas/_libs/interval.cpython-39-darwin.so, 0x0002): tried: '/opt/homebrew/lib/python3.9/site-packages/pandas/_libs/interval.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/interval.cpython-39-darwin.so' (no such file), '/usr/lib/interval.cpython-39-darwin.so' (no such file)

我了解 x86 与 arm 架构存在问题,因此我尝试查看终端使用的平台:

python -c 'import platform; print(platform.platform())'  

确认它是 arm64。 做一些谷歌搜索并查看类似的问题,例如Trouble installing Pandas on new MacBook Air M1,似乎可以在 x86 环境中运行 python 项目,但是就像已经提到的,它之前工作得很好,而且似乎没有更新,所以pandas(可能还有其他库)不再在 arm 上工作会发生什么情况,如何恢复?

【问题讨论】:

    标签: python pandas macos apple-m1 arm64


    【解决方案1】:

    您应该尝试使用miniforge

    其 GitHub 存储库中的定义:

    此存储库包含特定于 conda-forge 的最小化 Conda 安装程序。 Miniforge 允许您安装 conda 包管理器并预先配置以下功能:

    对我们有用的主要功能

    强调支持各种 CPU 架构(x86_64、ppc64le 和 aarch64,包括 Apple M1)。

    我使用的流程:

    1. 创建一个 conda 环境,通常使用“python3.9”。
    2. 从 conda 安装软件包,其中大部分可用,但有些不可用。
    3. 在尝试使用 miniforge 安装所有可能的软件包后,我使用 PIP 来安装剩余的软件包。

    这个工作流程对我来说效果很好,希望对你有所帮助。 我想利用原生的 m1 性能,我想您将能够看到差异。

    默认情况下,miniforge 只下载与 arm 兼容的 python 包构建。到目前为止,我在使用大多数数据科学库时都没有遇到任何重大问题,除了 PyTorch。

    【讨论】:

      猜你喜欢
      • 2022-08-23
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 2021-05-18
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      相关资源
      最近更新 更多