web-dev-qa-db-ja.com

ImportError:名前 '_ccallback_c'をインポートできません

最初はこのエラーが発生していました(モジュール名が見つかりませんでしたscipy)そこで、Scipyホイールファイルをインストールしました。これで同じエラーは表示されなくなりましたが、cannot import name "_ccallback_c"

エラーは、コードの4行目でトリガーされるようです。私は調査を行い、他の人々がアナコンダなどの環境を試すことを提案しているのを見ました。私はそれがアイドルで動作するのを見てきましたが、その解決策は私にとって理想的ではありません。

トレースバック:

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
16
Joeski

[〜#〜] using [〜#〜] 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 * Proceed(y/n)?

yを押し、pipが完了したら、次を入力します。

pip install scipy
6
theshopen

Python(ML)開発のためにMSVS 2017に移行したばかりで、これとモジュールの欠落に関連する他のエラーに遭遇しました。私はもともとPythonでコーディングを開始し、コマンドラインからすべてをインストールしました-明らかに、MSVS 2017はそれらのインストールを「表示」していません(実際、基礎となるpython古いライブラリをタップしている可能性があります);そのため、解決策は次のとおりです:

「pip uninstall ...」のコマンドラインバージョンを使用します。「...」は依存関係が欠落しているライブラリです(この場合は、scipy)。次に、Python環境ウィンドウ(通常は、デフォルトの表示構成の右上)のMSVS 2017コマンドラインで、ライブラリをリロードします(この場合、「scipy」と入力するとコマンドがフォーマットされます[コマンドテキストボックスの下のリストコントロール]の実行行)) 'pip install scipy'(またはMSVS用に再インストールする必要があるライブラリ)のようなものを読み取ります。

以前の多くの(またはすべての)Pythonパッケージのインストールで、これらのモジュールが見つからないというエラーが続く場合は、これを行う必要があります。

1
Epsilon3

最初にscipyでエラーが発生しました。それで、コマンドpython -m pip install -user numpy scipy matplotlib ipython jupyter pandas sympy noseを実行しましたが、完全に機能しました。私はすべてをpipでインストールしていたので、Anacondaを使用することにしました。インストールして、PATHに追加することを確認しました。そこから、通常動作を停止する前に実行された同じコードが、質問のエラーと同様のエラーを表示します。 Anacondaをアンインストールし、再び動作するようになりました。

エロ:

$ 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'

コディゴ:

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

これを試して:

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

Pythonバージョン3.6以降でpipを使用してscipyをインストールした場合、Python 3.7でコードを実行しようとすると、この問題が発生します。解決策の1つは、scipyをアンインストールすることです

pip3 uninstall scipy

それを再インストールします(Python 3.7)の環境を使用して):

pip3 install scipy 

これにより、インストールされているバージョンのscipyがお使いのバージョンのPythonと互換性があることが確認されます。

PS:Python from Python 3.6からPython 3.7に再インストールする必要があるかもしれませんpip。したがって、pipは内部でPython=の正しいバージョンを使用します。

0
asmaier