web-dev-qa-db-fra.com

ImportError: impossible d'importer le nom '_ccallback_c'

Au départ, j'obtenais cette erreur (aucun nom de module n'a été trouvé scipy) J'ai donc installé un fichier de roue Scipy. Maintenant, je ne reçois plus la même erreur mais je reçois cannot import name "_ccallback_c".

L'erreur semble être déclenchée à la quatrième ligne de code. J'ai fait mes recherches et j'ai vu que d'autres personnes ont suggéré d'essayer un environnement comme Anaconda. Je l'ai vu fonctionner au ralenti, et cette solution n'est pas idéale pour moi.

Traceback:

Traceback (most recent call last):
  File "C:\Users\joesh\Desktop\Python\Machine Learning\1st tutorial.py", line 4, in <module>
    from sklearn import preprocessing, cross_validation, svm
  File "C:\Users\joesh\Desktop\Python\lib\site-packages\sklearn\__init__.py", line 134, in <module>
    from .base import clone
  File "C:\Users\joesh\Desktop\Python\lib\site-packages\sklearn\base.py", line 10, in <module>
    from scipy import sparse
  File "C:\Users\joesh\Desktop\Python\lib\site-packages\scipy\__init__.py", line 118, in <module>
    from scipy._lib._ccallback import LowLevelCallable
  File "C:\Users\joesh\Desktop\Python\lib\site-packages\scipy\_lib\_ccallback.py", line 1, in <module>
    from . import _ccallback_c
ImportError: cannot import name '_ccallback_c'

Et le code:

import pandas as pd
import quandl, math
import numpy as np
from sklearn import preprocessing, cross_validation, svm 
from sklearn.linear_model import LinearRegression
16
Joeski

J'ai eu la même erreur sur EN UTILISANT Anaconda, donc je ne sais pas si son utilisation ferait une différence. Je l'ai résolu en désinstallant simplement scipy et en le réinstallant à l'aide de pip:

pip uninstall scipy 

vous obtiendrez ce message:

Désinstaller scipy-1.1.0: supprimerait: c:\users\thesh\appdata\local\programs\python\python36-32\lib\site-packages\scipy-1.1.0.dist-info * c:\users\thesh\appdata\local\programs\python\python36-32\lib\site-packages\scipy * Continuer (o/n)?

appuyez sur y, et une fois pip terminé, tapez:

pip install scipy
6
theshopen

Je viens de passer à MSVS 2017 pour le développement Python (ML), j'ai rencontré cela et d'autres erreurs liées aux modules manquants. Le problème (et tous les problèmes connexes comme celui-ci) a une solution simple et frustrante: quand J'ai initialement commencé à coder en Python, j'ai tout installé à partir de la ligne de commande - apparemment, MSVS 2017 ne "voit" pas ces installations (et, en fait, elles sont parfois en conflit, car le sous-jacent python peut être en tapant sur des bibliothèques plus anciennes); donc, la solution est de:

Utilisez la version en ligne de commande de 'pip uninstall ...' où '...' est la bibliothèque ayant des dépendances manquantes (scipy, dans ce cas). Ensuite, dans la ligne de commande MSVS 2017 dans la fenêtre d'environnement Python (généralement, en haut à droite dans la configuration d'affichage par défaut), rechargez la bibliothèque (dans ce cas, en tapant "scipy", vous formaterez une commande ligne pour l'exécution [dans le contrôle de liste sous la zone de texte de la commande]) qui lira quelque chose comme "pip install scipy" (ou toute bibliothèque qui doit être réinstallée pour MSVS).

Vous devrez peut-être le faire pour la plupart (ou la totalité) de vos précédentes installations de packages Python où ces erreurs de module manquantes persistent.

1
Epsilon3

J'ai d'abord eu l'erreur avec scipy. J'ai donc exécuté la commande python -m pip install -user numpy scipy matplotlib ipython jupyter pandas sympy noseet cela a parfaitement fonctionné. J'installais tout avec pip, alors j'ai décidé d'utiliser Anaconda. J'ai installé et vérifié pour ajouter au PATH. De là, le même code qui a été exécuté avant normalement cessé de fonctionner et affiche l'erreur similaire à celle de la question. J'ai désinstallé Anaconda et cela fonctionne à nouveau.

Erro:

$ winpty python ia.py
Traceback (most recent call last):
  File "ia.py", line 11, in <module>
    from sklearn import tree #importando a biblioteca e a árvore p/ o classifica
dor
  File "C:\Users\ferna\Anaconda3\lib\site-packages\sklearn\__init__.py", line 13
4, in <module>
    from .base import clone
  File "C:\Users\ferna\Anaconda3\lib\site-packages\sklearn\base.py", line 11, in
 <module>
    from scipy import sparse
  File "C:\Users\ferna\AppData\Roaming\Python\Python36\site-packages\scipy\__ini
t__.py", line 118, in <module>
    from scipy._lib._ccallback import LowLevelCallable
  File "C:\Users\ferna\AppData\Roaming\Python\Python36\site-packages\scipy\_lib\
_ccallback.py", line 1, in <module>
    from . import _ccallback_c
ImportError: cannot import name '_ccallback_c'

Código:

from sklearn import tree #importando a biblioteca e a árvore p/ o classificador
#COLLLECT TRAINING DATA
features = [[140,1],[130,1],[150,0],[170,0]]
labels = [0,0,1,1]
# TRAIN CLASSIFIER 
clf = tree.DecisionTreeClassifier() #Classificador
clf = clf.fit(features, labels) #algoritmo de decisão p/ encontrar padrões
#MAKE PREDICTIONS
print(clf.predict([[160, 0]])) #entrada de dados para o tratamento
0
Débora Fernandes

Essaye ça:

python -m pip install --upgrade scipy
0
Omar Merghany

Lorsque vous avez installé scipy avec pip dans un Python version 3.6 et ultérieure, essayez d'exécuter votre code avec Python 3.7 vous rencontrerez ce problème). Une solution consiste donc à désinstaller scipy

pip3 uninstall scipy

et réinstallez-le (en utilisant un environnement avec Python 3.7):

pip3 install scipy 

Cela garantira que la version installée de scipy est compatible avec votre version de Python.

PS: lorsque vous avez mis à jour Python de Python 3.6 à Python 3.7, il peut être nécessaire de réinstaller également pip, afin que pip utilise la version correcte de Python en interne.

0
asmaier