Python 升级是否会使 Cython 扩展变得稀有?

Does a Python upgrade make Cython extensions rare?

提问人:Razor 提问时间:10/19/2023 最后编辑:Peter MortensenRazor 更新时间:10/19/2023 访问量:57

问:

我想将 Python 3.11.4 升级到 3.11.5,但我的相同 .pyd 扩展名没有像以前那样编译。相同的代码在 3.11.4 版本中没有问题,所以我再次重新安装了 3.11.4,但问题仍然存在于此类型的所有声明中:

i:Py_ssize_t=0

Unknown type declaration 'Py_ssize_t' in annotation, ignoring

Py_ssize_t 是 Cython 的一部分。发生了什么事情?

python 变量 版本 cython 声明

评论


答:

0赞 DavidW 10/19/2023 #1

我认为它更有可能与 Cython 版本的更改相关联,而不是 Python 版本的更改。

特别是作为注解,Cython 希望您将其用作 Cython 的名称,而不是原始名称:Py_ssize_tcimport

cimport cython

#...

i: cython.Py_ssize_t=0

我怀疑这只是添加的警告的输出,而不是潜在的行为,但我可能是错的 - Cython 3 中注释的处理发生了相当大的变化。

评论

0赞 Razor 10/19/2023
是的,你是对的!与Cython。Py_ssize_t。问题是我必须改变一切,所以我更喜欢使用 previos 版本的 cython。非常感谢。
0赞 DavidW 10/19/2023
很有可能以前版本的 Cython 忽略了注释,但没有给你警告。在决定使用它之前,您应该检查一下。