pyqt应用程序调试在eclipse中不起作用
我目前正在使用eclipse编写我的第一个pyqt应用程序。我已经使用qt设计器来开发主窗口gui,我可以在eclipse中没有问题的情况下运行它。pyqt应用程序调试在eclipse中不起作用
但是我注意到,当我尝试在eclipse中调试它时,这不起作用......它似乎在第一个qt相关代码行上出错: app = QtGui.QApplication(sys.argv)
作为一个测试,我使用了相同的代码,并用IDLE(python GUI)调试它,然后一切正常(我可以设置断点并逐步执行代码)。
我已经将PyQt的位置添加到外部库部分中的PyDev(c:\ python27 \ Lib \ site-packages \ PyQt4)的python路径中,但这似乎无法解决问题。调试器总是以退出值-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_())
定期运行并已经在使用Eclipse PyDev的工作。它只是当我切换到调试模式,它似乎并没有工作...
我没有比较两个PATH和PYTHONPATH和PATH environmnet变量是相同的IDLE和pydev。
有在PYTHONPATH两点不同:1, 为了目录 调试器的2.location(这让我们用不同的调试器的意义上)
PYTHONPATH
在空闲的:
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
中的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
PATH
在IDLE:
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
中的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
Python版本:2.7.10
的Eclipse版本:开普勒服务发布1
pydev版本:4.0.0
版SIP协议:4.18.1
版本PyQt4的组成:4.8.7
它的工作罚款,我在这里(包括PyQt4中和PyQt5),因此,它可能是一些在你的配置。 ..
一个注意:
的文件夹site-packages\PyQt4
不要添加到PYTHONPATH。如果您导入为import PyQt4
,则只有父文件夹应位于PYTHONPATH中(即,:site-packages
在你的情况)。
对如何处理这个问题的一些注意事项:
如果简单的Hello不起作用,首先尝试在有效的。
尽量使
debug
运行(参见:http://www.pydev.org/manual_101_run.html更多细节上运行的模块)前regular
运行(只是为重点,编辑F9)。-
打印上的作品,并在情况下不能正常工作,并确保您更新翻译/项目配置,以便它是相同的情况下PYTHONPATH(见:如何改变这些配置http://www.pydev.org/manual_101_interpreter.html和http://www.pydev.org/manual_101_project_conf2.html )。
即:运行:
import sys;print('\n'.join(sorted(sys.path)))
两者并比较结果。 -
如果它仍然是一个不走,尽量环境变量在比较这两种情况下(主要是在Mac在Linux
PATH
在Windows上,LD_LYBRARY_PATH
和DYLD_LIBRARY_PATH
)。即:运行:
print('\n'.join(sorted(os.environ['PATH'].split(os.pathsep))))
它在哪里工作并与您在PyDev中进行比较。
如果仍然没有工作,请给您的实际例子更多详情连同你的Python版本,并在您的PYTHONPATH和路径信息(从项目3印刷品及以上4),因为它可能与此有关。