如何在M1mac上使用pandas? (没有 rosetta 或以任何其他方式更改为 x86 环境)
How to use pandas on M1 mac? (without rosetta or changing to x86 environment in any other way)
我上次写一个 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 上工作会发生什么,如何恢复?
您应该尝试使用 miniforge。
其 GitHub 存储库中的定义:
This repository holds a minimal installer for Conda specific to conda-forge. Miniforge allows you to install the conda package manager with the following features pre-configured:
对我们有用的主要功能
An emphasis on supporting various CPU architectures (x86_64, ppc64le, and aarch64 including Apple M1).
我使用的流程:
- 创建conda环境,通常使用“python3.9”。
- 从 conda 安装包,其中大部分可用,但有些不可用。
- 在尝试安装所有可能的 miniforge 包之后,我使用 PIP 来安装剩余的包。
这个工作流程对我来说效果很好,希望对你有所帮助。
我想利用原生的 m1 性能,我想你会看到其中的区别。
默认情况下,miniforge 只下载 python 包的 arm 兼容版本。到目前为止,我在使用大多数数据科学库时没有遇到任何重大问题,除了 PyTorch。
我上次写一个 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 上工作会发生什么,如何恢复?
您应该尝试使用 miniforge。
其 GitHub 存储库中的定义:
This repository holds a minimal installer for Conda specific to conda-forge. Miniforge allows you to install the conda package manager with the following features pre-configured:
对我们有用的主要功能
An emphasis on supporting various CPU architectures (x86_64, ppc64le, and aarch64 including Apple M1).
我使用的流程:
- 创建conda环境,通常使用“python3.9”。
- 从 conda 安装包,其中大部分可用,但有些不可用。
- 在尝试安装所有可能的 miniforge 包之后,我使用 PIP 来安装剩余的包。
这个工作流程对我来说效果很好,希望对你有所帮助。 我想利用原生的 m1 性能,我想你会看到其中的区别。
默认情况下,miniforge 只下载 python 包的 arm 兼容版本。到目前为止,我在使用大多数数据科学库时没有遇到任何重大问题,除了 PyTorch。