web-dev-qa-db-fra.com

Comment puis-je importer Pandas ON Apple m1 puce

Quand j'appelle:

import pandas as pd

au tensorflow_macos (pour la puce M1)

Je reçois:

ImportError                               Traceback (most recent call last)
~/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/__init__.py in <module>
     28 try:
---> 29     from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
     30 except ImportError as e:  # pragma: no cover

~/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/__init__.py in <module>
     12 
---> 13 from pandas._libs.interval import Interval
     14 from pandas._libs.tslibs import (

ImportError: dlopen(/Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so, 2): no suitable image found.  Did find:
    /Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so: mach-o, but wrong architecture
    /Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so: mach-o, but wrong architecture

The above exception was the direct cause of the following exception:

ImportError                               Traceback (most recent call last)
<ipython-input-3-94f55571b0d6> in <module>
      1 import numpy as np
----> 2 import pandas as pd
      3 
      4 import matplotlib.pyplot as plt
      5 

~/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/__init__.py in <module>
     31     # hack but overkill to use re
     32     module = str(e).replace("cannot import name ", "")
---> 33     raise ImportError(
     34         f"C extension: {module} not built. If you want to import "
     35         "pandas from the source directory, you may need to run "

ImportError: C extension: dlopen(/Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so, 2): no suitable image found.  Did find:
    /Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so: mach-o, but wrong architecture
    /Users/ashkan/tensorflow_macos_venv/lib/python3.8/site-packages/pandas/_libs/interval.cpython-38-darwin.so: mach-o, but wrong architecture not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --force' to build the C extensions first.
4
Ashkan

J'espère que les outils de ligne de commande Xcode sont déjà installés. Sinon, veuillez l'installer, puis suivez les étapes.

Étape 1: Miniforge

Installer Miniforge pour Arm64 (Silicon Apple) de Miniforge GitHub . Miniforge active l'installation python packages compilés de manière native pour Apple Silicon.

Étape 2: Créer un environnement de condada

N'oubliez pas d'ouvrir une nouvelle session ou de la source de votre .zshrc après l'installation de Miniforge et avant de passer à travers cette étape.

Créez un environnement de condada vide, puis activez-le et installez python 3.8. Et tous les packages nécessaires. Veuillez noter que NUMPY NUMPY est inutile ici comme pandas l'installer déjà, Mais il sera écrasé dans la dernière étape avec la version fournie par Apple.

conda create --name mytf
conda activate mytf
conda install -y python==3.8.6
conda install -y pandas matplotlib scikit-learn jupyterlab

Je l'ai testé. Cela fonctionnera après ces étapes.

6
Prabhat Kumar Sahu