首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cythonize()上使用annotate=True

如何在Cythonize()上使用annotate=True
EN

Stack Overflow用户
提问于 2019-07-08 04:37:05
回答 3查看 3.7K关注 0票数 11

我对Cython还不熟悉,但是通过遵循这个官方文件的基本指南来实现它

它只说:"Cython有一种方法可以可视化与Python对象和Python的place之间的交互。为此,将annotate=True参数传递给cythonize()。它生成一个HTML。“

我很惊讶,我不能仅仅谷歌这个,或没有人在堆叠溢出问这个问题。但我想不出怎样才能让它起作用。它没有具体显示它想要什么。因此,我尝试了最明显的语法(在Setup.py中):

代码语言:javascript
复制
from distutils.core import setup
from Cython.Build import cythonize

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

虽然这不会引发错误,但我也没有看到生成任何HTML。

我正在windows上使用最新版本的Python3.7和Cython 0.29.12。

tutorial.html

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-13 17:28:00

下面是我最后使用的东西,现在看来是可行的:

代码语言:javascript
复制
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)
)
票数 12
EN

Stack Overflow用户

发布于 2020-03-25 18:21:50

您可以尝试删除生成的c或cpp文件。如果pyx中没有变化,cython就不会尝试重复构建。我不知道cython如何跟踪构建依赖关系。我想这类似于make的工作方式。

票数 6
EN

Stack Overflow用户

发布于 2020-12-11 18:46:59

也许晚了,但我解决了这个问题如下:

.pyx更改源文件或删除 .c 文件,然后再次运行 setup.py ,以强制 cython 重新构建它。E 221

--force参数可能无效。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56928489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档