web-dev-qa-db-fra.com

Comment résoudre l'erreur d'importation pour les pandas?

J'ai installé Anaconda avec python 2.7.7.
Cependant, chaque fois que je lance "importation de pandas", j'obtiens l'erreur:
"ImportError: C extension: y not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first."
J'ai essayé d'exécuter la commande suggérée mais elle a indiqué que

skipping 'pandas\index.c' Cython extension (up-to-date)      
skipping 'pandas\src\period.c' Cython extension (up-to-date) 
skipping 'pandas\algos.c' Cython extension (up-to-date)      
skipping 'pandas\lib.c' Cython extension (up-to-date)        
skipping 'pandas\tslib.c' Cython extension (up-to-date)      
skipping 'pandas\parser.c' Cython extension (up-to-date)     
skipping 'pandas\hashtable.c' Cython extension (up-to-date)  
skipping 'pandas\src\sparse.c' Cython extension (up-to-date) 
skipping 'pandas\src\testing.c' Cython extension (up-to-date)
skipping 'pandas\msgpack.cpp' Cython extension (up-to-date)

Est-ce que quelqu'un a déjà rencontré cela et trouvé une solution?

23
Alex F

Pandas a des parties de son code écrites en C pour le faire fonctionner plus rapidement. Si vous avez essayé d'installer pandas manuellement, vous devez le créer. Essayez de le réinstaller avec le gestionnaire de paquets miniconda ici: http://conda.pydata.org/miniconda.html

et ensuite vous pouvez faire

conda install pandas

Il y a des instructions très simples sur la façon de le faire dans le lien ci-dessous. Faites juste ctrl-f miniconda pour trouver la section qui en parle

http://pandas.pydata.org/pandas-docs/dev/install.html

9
vicg

J'avais maintenant le même problème avec Python 3.4.3.

J'utilisais pandas-0.18.0.

La mise à niveau (à l'aide de pip) a résolu le problème pour moi:

[Sudo] pip install --upgrade pandas

Le résultat final de la mise à niveau:

Successfully installed numpy-1.13.3 pandas-0.21.0 python-dateutil-2.6.1 pytz-2017.3 six-1.11.0

Après cela, le problème avait disparu!

20
João Quintas

J'ai eu le même problème et le problème venait d'un problème d'encodage. Mon système d'exploitation était auparavant installé en français et tout allait bien. Mais quand je suis passé à l'anglais, j'ai eu l'erreur ci-dessus.

Vous pouvez taper

locale

dans le terminal pour vérifier les variables d'environnement locales.

Une fois installé en français, j'avais cette configuration: French config . Ensuite, après avoir basculé vers l'anglais, j'ai eu: config anglaise .

J'ai ensuite ajouté les lignes suivantes dans le .bash_profile sous/Users/myName et tout est revenu à la normale.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
11
Nicolas

Je n'ai pas pu mettre à niveau pandas avec la version régulière

pip install --upgrade pandas 

"tensorflow 1.6.0 has requirement numpy>=1.13.3, but you'll have numpy 1.13.1 which is incompatible."

Cependant, le cogner avec:

pip install --upgrade pandas --force

problème résolu complètement

3

J'ai essayé toutes les solutions ci-dessus, mais rien ne fonctionne ...

Message d'erreur

J'ai reçu un message d'erreur avec ipython

ImportError: C extension: iNaT not built. If you want to import pandas 
from the source directory, 
you may need to run 'python setup.py build_ext --inplace --force' 
to build the C extensions first.

et cela suggère

$ python setup.py build_ext --inplace --force

Solution

Ma suggestion: Attention au problème de version!

Je clone pandas depuis le dépôt officiel de github, puis je le construis moi-même et l'installe par pip

Voici la commande que j'ai tapée dans le terminal

$ cd pandas

$ python setup.py build_ext --inplace --force

$ Sudo pip install .  # don't forget the dot 

ou, si vous souhaitez installer dans votre compte Linux personnel plutôt que sous le système (en raison d'un problème avec plusieurs utilisateurs)

vous pouvez ajouter --user drapeau

$ pip --user install . # don't forget the dot, too

Maintenant, tout fonctionne bien sur mon ordinateur portable

Ma configuration

Ubuntu 16.04
Python 2.7
Numpy 1.13.1 

Bonne chance!

3
WY Hsu

J'avais ce problème avec python 2.7.13 voici ma solution: 1. installez Cython avec

pip install Cython

2. installez g ++ et gcc

apt-get install gcc, g++

3. désinstaller les pandas

pip uninstall pandas

4. réinstaller les pandas

pip install pandas

alors tout ira bien.

2
zawdd

En fait, aucune de ces réponses n'a fonctionné pour moi dans l'environnement suivant:

docker-compose # multiple containers, the managing one based on debian
Python 2.7
Django 1.8.19
numpy==1.11.3 # pinned to version, because of https://github.com/rbgirshick/py-faster-rcnn/issues/481

... more requirements

La solution suivante a fonctionné, après lecture

https://github.com/pandas-dev/pandas/issues/18281

et

https://github.com/pandas-dev/pandas/issues/16715

qui a à la fois abordé des solutions provisoires et recommandé ultérieurement une mise à niveau,

donc j'ai intégré dans le Dockerfile

pip install -r requirements.txt \
&& pip install \
pandas==0.21.0 \
--force-reinstall \
--upgrade \
--no-deps \
--no-cache \
--find-links https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/ \
--no-index

qui est mentionné dans https://github.com/pandas-dev/pandas/issues/16715#issuecomment-310063504

J'ai essayé toutes les solutions mentionnées ici, à l'exception de la réponse acceptée, également parce que a) je ne veux pas anaconda dans un environnement de production Web et b) ce n'est pas une bonne réponse pour favoriser les cadres ou les solutions cli pour les architectures, où un package n'est pas utilisé autonome ...

De plus, je n'aime pas que la réponse de @ colo soit déclassée, car c'est en fait une solution réalisable dans un certain environnement.

Pour quiconque trouve ce fil avec des exigences et des attentes similaires comme moi, j'espère avoir économisé quelques minutes.

1
other

essayer

/miniconda3/bin/conda install python

python: 3.6.0-0 --> 3.6.1-2

et

/miniconda3/bin/conda install pandas

Essayez la même chose avec votre version Anaconda.

0
Kaushik Velusamy

J'ai juste eu exactement le même problème lors de l'exécution tox .

Étapes à résoudre:

  1. Mise à jour setup.py contenir pandas==0.23.0 (au lieu de 0.21.0).
  2. Retirer .tox répertoire
  3. Exécutez à nouveau tox.
0
Martin Thoma

J'ai eu ce problème lorsque j'ai eu besoin d'une mise à niveau de Python 32 bits à 64 bits pour utiliser tensorflow.

L'exécution de cette commande a désinstallé pandas 0,21 et réinstallé 0,22:

installation de pip - mise à niveau des pandas

Trié.

0
John McCurdy

Au lieu de l'installer avec conda ou pip, essayez de l'installer avec votre gestionnaire de paquets:

Sudo apt-get install python3-pandas

0
colo