【问题标题】:TypeError: NoneType not callable when debugging Python3 code that uses Cython in PyCharmTypeError:在 PyCharm 中调试使用 Cython 的 Python3 代码时,NoneType 不可调用
【发布时间】:2019-04-23 02:24:12
【问题描述】:
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.x debugging pycharm cython


    【解决方案1】:

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

    我的灵感来自an issue on the Cython github

    【讨论】:

    • 谢谢,这(几乎)为我解决了这个问题。我还必须手动删除由python.exe setup.py build_ext --inplace 命令创建的就地*.pyd 文件(与源*.pyx 文件位于同一位置)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2016-08-17
    • 2012-04-28
    相关资源
    最近更新 更多