【问题标题】:How to fix this import matplotlib problem in M1 Mac?如何在 M1 Mac 中解决此导入 matplotlib 问题?
【发布时间】:2021-07-15 13:12:16
【问题描述】:

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

  • 我安装了 Rosetta 2,并将终端设置为 Rosetta 2
  • 我用 brew 安装了 pyenv
  • 用 brew 安装了 Sqlite3
  • 使用 pyenv 安装了 python 3.9.4(设置为全局)
  • 使用 brew 安装了 Visual Studio 代码
  • 在 Terminal(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。

【问题讨论】:

    标签: python matplotlib apple-m1 pyenv


    【解决方案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/

    【讨论】:

      【解决方案2】:

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

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

      pip3 freeze | xargs pip3 uninstall -y
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-15
        • 2022-10-18
        • 2019-06-12
        • 1970-01-01
        • 1970-01-01
        • 2020-02-16
        • 2019-10-26
        • 2023-02-23
        相关资源
        最近更新 更多