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

How to fix this import matplotlib problem in M1 Mac?

我买了 Mac M1,现在正在设置我的 python 环境。

现在我试图在终端(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

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

有什么线索吗?同样,我正在使用 Visual Studio 代码和 Jupyter 笔记本。

试试这些代码,它们对我有用。由于您正在使用 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/

我在全新的 MacBook Pro M1 上遇到了那个非常令人沮丧的错误。

经过长时间的努力,我发现我必须卸载所有已安装的 pip 包。

pip3 freeze | xargs pip3 uninstall -y

只有这样,我才能平静地重新安装并导入所有我最喜欢的软件包。