2017-01-03 23 views
0

現在、Eclipseを使用している最初のpyqtアプリケーションを作成しています。私はメインウィンドウGUIを開発するためにQtデザイナーを使用しており、私は日食で問題なく実行することができます。pyqtアプリケーションのデバッグがEclipseで機能しない

私はそれが動作しないことを日食でそれをデバッグしようとすると気づいた...それはコードの最初のqtの関連ラインで間違っているようだ: アプリ= QtGui.QApplication(sys.argv)

私は同じコードを使用して、IDLE(Python GUI)でデバッグしましたが、すべてがOKです(ブレークポイントを設定してコードをステップ実行することができます)。

外部ライブラリセクションのPyDev(c:\ python27 \ Lib \ site-packages \ PyQt4)のpythonパスに既にPyQtの場所を追加しましたが、これは問題を解決していないようです。デバッガは常に終了値-1073740771で終了します。

私は、次のhelloPythonコードを使用して問題に取り組むことを試みた:

import os 
from PyQt4 import QtGui 


class HelloPython(QtGui.QWidget): 
    def __init__(self, parent=None): 
     super(HelloPython, self).__init__(parent) 
     helloLabel = QtGui.QLabel("Say Hello To PyQT!")  
     helloLineEdit = QtGui.QLineEdit() 

     mainLayout = QtGui.QGridLayout() 
     mainLayout.addWidget(helloLabel, 0, 0) 
     mainLayout.addWidget(helloLineEdit, 0, 1) 

     self.setLayout(mainLayout) 
     self.setWindowTitle("My Python App") 

if __name__ == '__main__': 
    import sys 

    app = QtGui.QApplication(sys.argv) 

    helloPythonWidget = HelloPython() 
    helloPythonWidget.show() 

    sys.exit(app.exec_()) 

定期的な実行がすでにPyDevはを使って日食で働いてました。私がデバッグモードに切り替わっても動作しないように見えるのは...

私はPATHとPYTHONPATHの両方を比較して、PATH環境変数はIDLEとpydevで同じでした。

PYTHONPATHに2つの違いがありました:(私たちは別のデバッガを使用して理にかなって)デバッガのディレクトリの 1.オーダー 2.location

PYTHONPATH IDLEで

はPyDevは

C:\Program Files (x86)\eclipse-cpp-kepler-SR1-win32-x86_64\plugins\org.python.pydev_4.0.0.201504132356\pysrc 
C:\Users\35gs\Workspace\test_pyqt 
C:\Users\35gs\Workspace\test_pyqt 
C:\Windows\system32\python27.zip 
C:\python27 
C:\python27\DLLs 
C:\python27\Lib\site-packages 
C:\python27\lib 
C:\python27\lib\lib-tk 
C:\python27\lib\plat-win 
C:\Python27 
C:\Python27\Lib\idlelib 
C:\Users\35gs\Workspace\test_pyqt 
C:\Windows\system32\python27.zip 
C:\python27 
C:\python27\DLLs 
C:\python27\lib 
C:\python27\lib\lib-tk 
C:\python27\lib\plat-win 
C:\python27\lib\site-packages 

IDLEで

PATH:PyDevは中

C:\Program Files (x86)\BitScope 
C:\Program Files (x86)\CheckPoint\Endpoint Security\Endpoint Common\bin 
C:\Program Files\TortoiseSVN\bin 
C:\Program Files\doxygen\bin 
C:\Python27 
C:\Python27\Lib\site-packages\PyQt4 
C:\Python27\Scripts 
C:\WindRiver\diab\5.8.0.0\WIN32\bin 
C:\WindRiver\utilities-1.0\x86-win32\bin 
C:\Windows 
C:\Windows\System32\Wbem 
C:\Windows\System32\WindowsPowerShell\v1.0\ 
C:\Windows\system32 
C:\python27 

:パイソンの

C:\Program Files (x86)\BitScope 
C:\Program Files (x86)\CheckPoint\Endpoint Security\Endpoint Common\bin 
C:\Program Files\TortoiseSVN\bin 
C:\Program Files\doxygen\bin 
C:\Python27 
C:\Python27\Lib\site-packages\PyQt4 
C:\Python27\Scripts 
C:\WindRiver\diab\5.8.0.0\WIN32\bin 
C:\WindRiver\utilities-1.0\x86-win32\bin 
C:\Windows 
C:\Windows\System32\Wbem 
C:\Windows\System32\WindowsPowerShell\v1.0\ 
C:\Windows\system32 
C:\python27 

バージョン:エクリプスの2.7.10

バージョン:ケプラーサービスリリース1

pydevのバージョン:4.0.0SIPの3210

バージョン:4.18.1 PyQT4の

バージョン:4.8.7

答えて

0

それは(PyQt4とPyQt5の両方で)ここに私のための作業罰金を行いますので、それはおそらくあなたの設定で何かです。 ..

ワンノート:

はPYTHONPATHにフォルダsite-packages\PyQt4を追加しないでください。 import PyQt4としてインポートする場合は、親フォルダのみがPYTHONPATHに存在する必要があります(つまり、あなたの場合はsite-packages)。

問題に取り組む方法についてのいくつかの注意:

  1. シンプルなハローが動作しない場合は、その最初の上で動作するようにしてみてください。

  2. は(:モジュールを実行しているの詳細についてはhttp://www.pydev.org/manual_101_run.htmlを参照)debug実行する前にregular実行(編集者を中心としただけでF9)を作るようにしてください。これらの設定を変更する方法についてhttp://www.pydev.org/manual_101_interpreter.htmlhttp://www.pydev.org/manual_101_project_conf2.htmlを:

  3. が働き、仕事とそれは同じだように、あなたの通訳/プロジェクトの設定を更新していることを確認していない場合には(参照ケースにPYTHONPATHを印刷します)。

    :実行:import sys;print('\n'.join(sorted(sys.path)))の両方で実行し、結果を比較してください。

  4. 環境変数を比較する場合は、両方とも(Windowsの場合はPATH、Linuxの場合はLD_LYBRARY_PATH、Macの場合はDYLD_LIBRARY_PATH)、環境変数を比較してみてください。

    :実行:print('\n'.join(sorted(os.environ['PATH'].split(os.pathsep)))) PyDevでの動作と比較します。それはまだ動作しなかった場合は

することは、それはかもしれないとしてあなたのPythonのバージョンとあなたのPYTHONPATHおよびPATH上の情報(項目3からのプリントとし、上記4)と一緒にあなたの実際の例の詳細を記入してくださいそれに関連している。

関連する問題