python-3.x - 如何在 Cythonize() 上使用 annotate=True

标签 python-3.x cython cythonize

我是 Cython 的新手,但按照此操作使其正常工作 basic guide from the official docs :
它所说的只是:
“Cython 有一种方法可以可视化与 Python 对象和 Python 的 C-API 交互发生的位置。为此,将 annotate=True 参数传递给 cythonize()。它会生成一个 HTML 文件。”
我很惊讶我不能只用谷歌搜索这个,或者 stackoverflow 上没有人问过这个问题。但我不知道如何让它工作。它没有具体显示它想要什么。所以我尝试了最明显的语法(在 Setup.py 中):

from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("gpcython.pyx", annotate=True)
)
虽然这不会引发错误,但我也没有看到生成任何 HTML。
我在 Windows 上使用最新版本的 Python 3.7 和 Cython 0.29.12。
https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html

最佳答案

这是我最终使用的现在似乎有效的方法:

from distutils.core import setup
from Cython.Build import cythonize

import Cython.Compiler.Options
Cython.Compiler.Options.annotate = True

setup(
    ext_modules = cythonize("gpcython.pyx", annotate=True)
)

关于python-3.x - 如何在 Cythonize() 上使用 annotate=True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56928489/

相关文章:

python - 我得到一个 AttributeError : module 'collections' has no attribute 'Iterable' when I try to install libraries using PIP

python - list() 与 Python 3.5+ 中的可迭代拆包

python - 如何为Python安装解析器库

c - R6034 应用程序尝试错误地加载 C 运行时库

python - Cython C++ 模板

python - Cython/python - cdef 类列表

python - 如何在 setup.py 中使用 distutils 或 setuptools 使 cython 扩展可导入(无需在每次导入之前附加到 sys.path )?

python - Cython:融合类型的使用无效,类型不能被专门化

python - 尝试从目录和子目录中查找所有 .txt 文件

python-3.x - Python Tkinter:在放置place()d之后隐藏小部件