簡體   English   中英

如何在 M1 mac 上使用 pandas? (沒有rosetta或以任何其他方式更改為x86環境)

[英]How to use pandas on M1 mac? (without rosetta or changing to x86 environment in any other way)

上次我在不到 2 個月前寫了一個 python 項目,一切正常。 我不確定在處理其他項目時是否在我的 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。 進行一些谷歌搜索並查看類似的問題,例如在新的 MacBook Air M1 上安裝 Pandas 時遇到問題,似乎可以在 x86 環境中運行 python 項目,並且之前已經提到過它的環境很好,但它似乎已經很好了此后沒有更新,所以 pandas(可能還有其他庫)不再適用於 arm 會發生什么情況,如何恢復?

您應該嘗試使用miniforge

其 GitHub 存儲庫中的定義:

此存儲庫包含特定於 conda-forge 的最小 Conda 安裝程序。 Miniforge 允許您安裝 conda package 管理器,並預先配置了以下功能:

它的主要功能對我們有用

強調支持各種 CPU 架構(x86_64、ppc64le 和 aarch64,包括 Apple M1)。

我使用的過程:

  1. 創建一個 conda 環境,通常使用“python3.9”創建 go。
  2. 從 conda 安裝軟件包,其中大部分可用,但有些不可用。
  3. 在嘗試使用 miniforge 安裝所有可能的軟件包后,我將PIP用於剩余的軟件包。

這個工作流程對我來說效果很好,希望對你有所幫助。 我想利用原生的 m1 性能,我認為您將能夠看到差異。

默認情況下,miniforge 只下載與 arm 兼容的 python 包的構建。 到目前為止,除了 PyTorch 之外,我在使用大多數數據科學庫時還沒有遇到任何重大問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM