python - 使用Pycharm调试PyQt gui时出现奇怪的错误

标签 python debugging pyqt pycharm pydev

我一直在使用 PyCharm 在 PyQt 中调试我的图形用户界面。到目前为止,这真的很成功,直到我刚才在尝试调试我的 gui 时遇到了一个奇怪的错误。我在脚本的开头以及各个点都设置了断点,但程序没有机会到达这一点。我也试过删除所有断点并运行调试但得到相同的结果。完整的回溯是:

C:\Users\pbreach\Continuum\Anaconda3\python.exe "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\pydevd.py" --multiproc --qt-support --client 127.0.0.1 --port 53720 --file C:/Users/pbreach/Dropbox/FIDS/cci/bluebook/code/input.py
Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_cython_wrapper.py", line 2, in <module>
    from _pydevd_bundle.pydevd_cython import trace_dispatch, PyDBAdditionalThreadInfo
ModuleNotFoundError: No module named '_pydevd_bundle.pydevd_cython'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\pydevconsole.py", line 8, in <module>
    from code import InteractiveConsole
ImportError: cannot import name 'InteractiveConsole'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\pydevd.py", line 26, in <module>
    from _pydevd_bundle.pydevd_additional_thread_info import PyDBAdditionalThreadInfo
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_additional_thread_info.py", line 17, in <module>
    from _pydevd_bundle.pydevd_cython_wrapper import PyDBAdditionalThreadInfo
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_cython_wrapper.py", line 26, in <module>
    mod = __import__(check_name)
  File "_pydevd_bundle\pydevd_cython_win32_36_64.pyx", line 9, in init _pydevd_bundle.pydevd_cython_win32_36_64 (_pydevd_bundle/pydevd_cython_win32_36_64.c:21388)
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_frame.py", line 10, in <module>
    from _pydevd_bundle.pydevd_breakpoints import get_exception_breakpoint
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_breakpoints.py", line 15, in <module>
    from _pydevd_bundle.pydevd_comm import get_global_debugger
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 75, in <module>
    import pydevconsole
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\pydevconsole.py", line 10, in <module>
    from _pydevd_bundle.pydevconsole_code_for_ironpython import InteractiveConsole
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3\helpers\pydev\_pydevd_bundle\pydevconsole_code_for_ironpython.py", line 105
    except SyntaxError, err:
                      ^
SyntaxError: invalid syntax

Process finished with exit code 1

有谁知道导致此错误的原因以及如何解决?当我正常运行代码(没有调试)时,我没有遇到任何这些错误。

最佳答案

我遇到了同样的问题,这花了我一段时间,但我找到了适合我的解决方案。我相信会发生什么,调试器正在目录 code 中寻找模块 _pydevd_bundle.pydevd_cython。但是,因为您是在自己的 code 目录外运行脚本,调试器会检查您的文件夹,发现它们没有模块,并抛出错误。这可以解释为什么删除 __init__.py 有效,因为调试器不会再混淆这两个目录。

因此,将您的代码目录重命名为其他名称应该可以解决问题并让您保留 init 文件。

关于python - 使用Pycharm调试PyQt gui时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705279/

相关文章:

python - 如何防止 QTableView 项在双击时被清除

python - 基于 PyQt 的 GUI 中的计时器

python - 检测何时单击 "X"按钮

python - 使用 Python 修改 PCAP

android - 无法在 Android Studio 中附加调试器 - localhost :8600 java.net.ConnectException

C 调试宏(具有不同的调试 "sources")

java - 调试java代码时出现警告

python - 以python中的for循环结束

python - 如何使用 DecisionTreeClassifier 来平衡分类?

python - 如果传递给 **kwargs 的参数数量错误,会引发什么异常?