ImportError: невозможно импортировать имя '_ccallback_c'

Первоначально я получал эту ошибку (имя модуля не было найдено scipy). Поэтому я установил файл Scipy wheel. Теперь я не получаю такую ​​же ошибку, но получаю cannot import name "_ccallback_c".

Ошибка, по-видимому, срабатывает в четвертой строке кода. Я сделал свое исследование и увидел, что другие люди предлагают попробовать такую ​​среду, как Anaconda. Я видел, как он работает на праздном, и это решение не идеально для меня.

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'

И код:

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

Ответ 1

У меня была та же ошибка при ИСПОЛЬЗОВАНИИ Anaconda, поэтому я не уверен, что использование этого будет иметь какое-либо значение. Я решил это, просто удалив scipy и переустановив его с помощью pip:

pip uninstall scipy 

вы получите это сообщение:

Удаление scipy-1.1.0: удалит: 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 * Продолжить (да/нет)?

нажмите y, и после того, как pip будет готов, введите:

pip install scipy

Ответ 2

Перейдя в MSVS 2017 для разработки Python (ML), я столкнулся с этой и другими ошибками, связанными с отсутствующими модулями. Проблема (и все связанные с ними проблемы, как это) имеет удручающе простое решение: когда я первоначально начал программировать на Python, я установил все из командной строки - видимо, МСВС 2017 "не видит" эти объекты (и, на самом деле, они иногда конфликтуют, поскольку базовый питон может использовать более старые библиотеки); поэтому решение имеет значение:

Используйте версию командной строки 'pip uninstall...', где '...' - это библиотека с отсутствующими зависимостями (в этом случае scipy). Затем в командной строке MSVS 2017 в окне среды Python (обычно в правом верхнем углу экрана конфигурации по умолчанию) перезагрузите библиотеку (в этом случае ввод "scipy" будет форматировать командную строку для выполнения [в элементе управления списком ниже текстовое поле команды]), которое будет читать что-то вроде "pip install scipy" (или любую другую библиотеку необходимо переустановить для MSVS).

Возможно, вам придется сделать это для многих (или всех) ваших предыдущих пакетов пакетов Python, где эти недостающие ошибки модуля сохраняются.

Ответ 3

Сначала у меня была ошибка с scipy. Поэтому я выполнил команду python -m pip install -user numpy scipy matplotlib ipython jupyter pandas sympy nose, и она отлично работала. Я устанавливал все с пипсом, поэтому решил использовать Anaconda. Я установил и проверил, чтобы добавить в PATH. Оттуда тот же самый код, который был выполнен до того, как он обычно перестает работать и отображает ошибку, аналогичную ошибке. Я удалил Anaconda, и теперь он снова работает.

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'

Ответ 4

Когда вы установили scipy с pip в Python версии 3.6 и позже, попробуйте запустить код с Python 3.7, вы столкнетесь с этой проблемой. Так что одним из решений является удаление Scipy

pip3 uninstall scipy

и переустановите его (используя среду с Python 3.7):

pip3 install scipy 

Это обеспечит совместимость установленной версии scipy с вашей версией Python.

PS: Когда вы обновили Python с Python 3.6 до Python 3.7, возможно, потребуется также переустановить pip, чтобы pip внутри использовал правильную версию Python.

Ответ 5

Попробуйте это:

python -m pip install --upgrade scipy