使用 PyCharm 调试扭曲的应用程序

Debugging twisted application using PyCharm

我花了几个小时试图配置 PyCharm 来调试我的应用程序。我一直在寻找解决方案,但 twisted 似乎并不那么受欢迎,而且支持也很薄弱。下面我把我得到的错误日志。

/usr/local/bin/python3.4m -u /Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py 57276 57277 /usr/bin/twistd -y /Users/artur/projs/private/elanga-web/start_app.tac
Running /usr/bin/twistd
PyDev console: starting.
Traceback (most recent call last):
  File "/usr/bin/twistd", line 7, in <module>
    import _preamble
ImportError: No module named '_preamble'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 68, in <module>
    globals = run_file(file, None, None)
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 28, in run_file
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc) 
  File "/usr/bin/twistd", line 9, in <module>
    sys.exc_clear()
AttributeError: 'module' object has no attribute 'exc_clear'

Process finished with exit code 1
Couldn't connect to console process.

如果能回答为什么没有像_preamble

这样的模块,我将不胜感激

在 OS X 上,/usr/bin/twistd 是安装到系统 python 中的一个 Twisted 版本。这不是 python 3.4。您看到的症状不是缺少 _preamble 模块(实际上应该安装 而不是 ,这就是周围有 except 块的原因导入捕获异常)而是你在某个随机 python 2 程序中指向 python 3.4。

如果你想运行 python 3.4,你需要创建一个安装了Twisted的python 3环境。请记住,并非所有 Twisted 都已移植,因此您只能使用一部分 API。 python 3 还没有移植的东西之一是 twistd 命令行,所以还没有办法 运行 twistd 和 python 3。