如何在 M1 Mac 中解决此导入 matplotlib 问题?

时间:2021-07-15 13:12:16

标签: python matplotlib apple-m1 pyenv

我买了 Mac M1,现在正在搭建我的 python 环境。

  • 我安装了 Rosetta 2,并将我的终端设置为 Rosetta 2
  • 我用 brew 安装了 pyenv
  • 使用 brew 安装 Sqlite3
  • 使用 pyenv 安装了 python 3.9.4(设置为全局)
  • 使用 brew 安装了 Visual Studio 代码
  • 在终端 (arm64) 中使用 pip 安装了 pandas(问题已解决,谢谢hd1

现在我试图在终端(arm64)中的“pip install matplotlib”之后导入 matplotlib,它显示了这个错误:

ImportError                               Traceback (most recent call last)
/var/folders/r5/wq0wq8mx0d56rbrbs38jt94w0000gn/T/ipykernel_54247/646680447.py in <module>
      1 import pandas as pd
      2 
----> 3 import matplotlib.pyplot as plt

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/matplotlib/__init__.py in <module>
    155 
    156 
--> 157 _check_versions()
    158 
    159 

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/matplotlib/__init__.py in _check_versions()
    149             ("pyparsing", "2.2.1"),
    150     ]:
--> 151         module = importlib.import_module(modname)
    152         if LooseVersion(module.__version__) < minver:
    153             raise ImportError("Matplotlib requires {}>={}; you have {}"

~/.pyenv/versions/3.9.4/lib/python3.9/importlib/__init__.py in import_module(name, package)
    125                 break
    126             level += 1
--> 127     return _bootstrap._gcd_import(name[level:], package, level)
    128 
    129 

ImportError: dlopen(/Users/yeung/.pyenv/versions/3.9.4/lib/python3.9/site-packages/kiwisolver.cpython-39-darwin.so, 2): no suitable image found.  Did find:
    /Users/yeung/.pyenv/versions/3.9.4/lib/python3.9/site-packages/kiwisolver.cpython-39-darwin.so: mach-o, but wrong architecture
    /Users/yeung/.pyenv/versions/3.9.4/lib/python3.9/site-packages/kiwisolver.cpython-39-darwin.so: mach-o, but wrong architecture

虽然它说这是错误的架构,但我在这里尝试了 pandas 的解决方案。它基本上是 pip 卸载它,然后确保它与我的 arm64 终端一起安装。我卸载并清除了缓存,然后使用我的 arm64 终端“安装了 pip”,但仍然出现此错误。

有什么线索吗?同样,我使用的是 Visual Studio Code 和 Jupyter notebook。

1 个答案:

答案 0 :(得分:1)

试试这些代码,它们对我有用。当您使用 pyenv 时,您只需 pyenv uninstall 3.9.4 清除实例,然后重新安装 pyenv install 3.9.4。之后,请尝试以下代码。

python -m pip install cython   
python -m pip install --no-binary :all: --no-use-pep517 numpy
brew install libjpeg
python -m pip install matplotlib

代码的来源来自这里:https://flutterq.com/pip-install-matplotlib-fails-on-m1-mac/