Python pyqt应用程序调试在eclipse中不起作用
我目前正在使用eclipse编写我的第一个pyqt应用程序。我已经使用qt designer开发了主窗口gui,并且能够在eclipse中毫无问题地运行它 然而,我注意到,当我尝试在eclipse中调试它时,这不起作用。。。它似乎在与qt相关的第一行代码中出错: app=QtGui.QApplication(sys.argv) 作为测试,我使用了相同的代码,并用IDLE(pythongui)对其进行了调试,然后一切正常(我可以设置断点并逐步完成代码) 我已经在ExternalLibraries部分将PyQt的位置添加到PyDev的python路径(c:\python27\Lib\site packages\PyQt4),但这似乎并没有解决这个问题。调试器始终以退出值-1073740771终止 我尝试使用以下helloPython代码解决此问题:Python pyqt应用程序调试在eclipse中不起作用,python,eclipse,debugging,pyqt4,pydev,Python,Eclipse,Debugging,Pyqt4,Pydev,我目前正在使用eclipse编写我的第一个pyqt应用程序。我已经使用qt designer开发了主窗口gui,并且能够在eclipse中毫无问题地运行它 然而,我注意到,当我尝试在eclipse中调试它时,这不起作用。。。它似乎在与qt相关的第一行代码中出错: app=QtGui.QApplication(sys.argv) 作为测试,我使用了相同的代码,并用IDLE(pythongui)对其进行了调试,然后一切正常(我可以设置断点并逐步完成代码) 我已经在ExternalLibraries部
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,对于IDLE和pydev,PATH environment变量是相同的
蟒蛇有两个不同之处:
1.目录的顺序
2.调试器的位置(这在我们使用不同的调试器时很有意义)
蟒蛇
空闲时:
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
路径
空闲时:
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中(即:在您的情况下为站点包
)
关于如何解决这一问题的一些注意事项:
debug
之前,尝试使正常运行(仅F9,焦点在编辑器上)(有关运行模块的更多详细信息,请参阅)
导入系统;打印('\n'.join(排序(sys.path)))
并比较结果PATH
,在Linux上主要是LD\u-LYBRARY\u-PATH
,在Mac上主要是DYLD\u-LIBRARY\u-PATH
)
i、 例如:运行:print('\n'.join(sorted(os.environ['PATH'].split(os.pathsep)))
并与PyDev中的内容进行比较