首页 > 解决方案 > TypeError:在 PyCharm 中调试使用 Cython 的 Python3 代码时,NoneType 不可调用

问题描述

project
|-main.py
|-cythonCode.pyx

main.py文件从cythonCode.pyx. 定期运行程序可以正常工作,但调试它会导致以下异常:

(...)
File "<censored>/project/main.py", line 5, in <module>
    from cythonCode import *
  File "project/cythonCode.pyx", line 5, in init cythonCode
  File "project/cythonCode.pyx", line 5, in __Pyx_PyMODINIT_FUNC PyInit_cythonCode(void)
TypeError: 'NoneType' object is not callable

怎么了?为什么调试器不能与 Cython 一起工作?

标签: python-3.xdebuggingpycharmcython

解决方案


就我而言,问题在于 Cython 代码是使用linetrace=True编译器指令编译的,这显然是调试器不喜欢的(为什么?我不知道)。设置它来False解决问题。

我的灵感来自Cython github 上的一个问题


推荐阅读