Как исправить эту проблему с импортом панд в M1 Mac?

#python #pandas #visual-studio-code #apple-m1 #pyenv

Вопрос:

Я купил Mac M1 и теперь настраиваю свою среду python.

  • Я установил Rosetta 2 и установил свой терминал как Rosetta 2
  • Я установил pyenv с brew
  • установлен Sqlite3 с brew
  • установлен python 3.9.4 с pyenv (установлен как глобальный)
  • установленный код visual studio с brew
  • и, наконец, я установил pandas с помощью «pip install pandas» в своем терминале.

Теперь я открыл файл записной книжки jypyter в VS Code и попытался импортировать панд в качестве pd, затем он выдал эту ошибку:

     ---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/var/folders/r5/wq0wq8mx0d56rbrbs38jt94w0000gn/T/ipykernel_10428/1362986570.py in <module>
----> 1 import pandas as pd

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/__init__.py in <module>
     20 
     21 # numpy compat
---> 22 from pandas.compat import (
     23     np_version_under1p18 as _np_version_under1p18,
     24     is_numpy_dev as _is_numpy_dev,

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/compat/__init__.py in <module>
     13 
     14 from pandas._typing import F
---> 15 from pandas.compat.numpy import (
     16     is_numpy_dev,
     17     np_array_datetime64_compat,

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/compat/numpy/__init__.py in <module>
      5 import numpy as np
      6 
----> 7 from pandas.util.version import Version
      8 
      9 # numpy versioning

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/util/__init__.py in <module>
----> 1 from pandas.util._decorators import (  # noqa
      2     Appender,
      3     Substitution,
      4     cache_readonly,
      5 )

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/util/_decorators.py in <module>
     12 import warnings
     13 
---> 14 from pandas._libs.properties import cache_readonly  # noqa
     15 from pandas._typing import F
     16 

~/.pyenv/versions/3.9.4/lib/python3.9/site-packages/pandas/_libs/__init__.py in <module>
     11 
     12 
---> 13 from pandas._libs.interval import Interval
     14 from pandas._libs.tslibs import (
     15     NaT,

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

Что я должен сделать, чтобы исправить это сейчас?

Ответ №1:

Попробуйте переустановить pandas после его удаления?

Комментарии:

1. Я «pip удаляю панд», я подтвердил, что он удален с помощью «списка pip». Затем я снова «устанавливаю панды» в своем терминале arm64. Но там написано: «Требование уже удовлетворено.. Успешно установлена pandas-1.3.0». И когда я снова «импортирую панд как pd» в VSCode, появляется та же ошибка…

2. там написано «Использование кэшированных панд-1.3.0-cp39-cp39-macosx_11_0_arm64.whl» как я могу очистить кэш?

3. пробовать pip cache purge

4. бежать brew install xz . После этого установите python, чтобы избежать ошибки сжатия lzma

5. Просто воссоздание вашего venv должно сделать свое дело, @yts61.

Ответ №2:

Возможно, VSCode является родным (код ARM), поэтому он также запускает собственный jupyter… Попробуйте установить собственную версию pandas с помощью терминала, отличного от Розетты 2.

Комментарии:

1. Спасибо, что заглянули, я попытался с помощью pip установить панд в терминале arm64, однако там написано: Требование уже выполнено: панды