2016-11-10 16 views
1

私はPyCharm Community Edition 2016.1.4を環境として使用していくつかのコードを実装しています。 私は次の簡単なコードを持っている:私が到着したとき、私は、デバッグモードで行けば、逆でPython:間違ったデバッグ

enter image description here

:私は単に私が正しく、適切な画像を得ることを実行している場合

print(__doc__) 
import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

from sklearn.cluster import KMeans 
from sklearn import datasets 

np.random.seed(5) 

centers = [[1, 1], [-1, -1], [1, -1]] 
iris = datasets.load_iris() 
X = iris.data 
y = iris.target 

estimators = {'k_means_iris_3': KMeans(n_clusters=3), 
       'k_means_iris_8': KMeans(n_clusters=8), 
       'k_means_iris_bad_init': KMeans(n_clusters=3, n_init=1, 
               init='random')} 

fignum = 1 
name = 'k_means_iris_3' 
est = KMeans(n_clusters=3) 

fig = plt.figure(fignum, figsize=(4, 3)) 
plt.clf() 
ax = Axes3D(fig, rect=[0, 0, .95, 1], elev=48, azim=134) 

est.fit(X) 
labels = est.labels_ 

ax.scatter(X[:, 3], X[:, 0], X[:, 2], c=labels.astype(np.float)) 

ax.w_xaxis.set_ticklabels([]) 
ax.w_yaxis.set_ticklabels([]) 
ax.w_zaxis.set_ticklabels([]) 
ax.set_xlabel('Petal width') 
ax.set_ylabel('Sepal length') 
ax.set_zlabel('Petal length') 
fignum = fignum + 1 

plt.show() 

をラインで:

fig = plt.figure(fignum, figsize=(4, 3)) 

私はこのエラーを取得する:

Traceback (most recent call last): 
    File "C:\Program Files\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2885, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-36b230119a6b>", line 1, in <module> 
    fig = plt.figure(fignum, figsize=(4, 3)) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 535, in figure 
    **kwargs) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 44, in new_figure_manager 
    return new_figure_manager_given_figure(num, thisFig) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 51, in new_figure_manager_given_figure 
    canvas = FigureCanvasQTAgg(figure) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 223, in __init__ 
    super(FigureCanvasQTAgg, self).__init__(figure=figure) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 66, in __init__ 
    super(FigureCanvasQTAggBase, self).__init__(figure=figure) 
    File "C:\Program Files\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5.py", line 239, in __init__ 
    super(FigureCanvasQT, self).__init__(figure=figure) 
AttributeError: 'figure()' is not a Qt property or a signal 

あなたはその理由を想像できますか?

+2

おそらく関連性があります:http://stackoverflow.com/questions/1736015/debugging-a-pyqt4-app。基本的には、デバッグの際にはまずイベントループを停止するためにpyqtを取得する必要があります。 –

答えて

1

pythonエラーは、誤解を招くほどのものでした。本当の問題は、Pythonバインディング(Pythonの二重インストールによるいくつかの理由による)の欠如でした:PyQt4。

ちょうどhereに行って、適切なインストーラを選択してください...それを実行してください!また、pyCharmを閉じたり再オープンしたりするのを避けることもできます(数秒で修正され、それ以上のエラーは発生しません)。 enter image description here

関連する問題