如何使编译的__init__模块扩展正常工作?

时间:2014-05-15 02:16:12

标签: python compilation cython

我在Windows 7上使用64位版本的python 3.3和cython 0.18。

我遇到了一个彻底描述的问题here

链接线程中未讨论的一个问题是,python的distutils调用链接命令( link.exe )并带有导出选项(仅在需要时Windows)一个名为 PyInit_ [模块名称] 的符号,但是,如果模块名称是 __ init __ ,则cython创建的C文件只指定了一个符号名称​​ PyInit_ [包名称] ,链接器回复了此错误: LINK:错误LNK2001:未解析的外部符号

幸运的是,我设法在 build_ext 模块中解决了这个问题。

剩下的问题是 mypackage 的已编译的 __ init __ .pyd 模块包含一个像

这样的导入语句
import math

抛出

SystemError: Parent module '' not loaded, cannot perform relative import

导入 mypackage 时(无论从哪里导入)。没有import语句,它按预期工作。

如果有人有解决此问题的修复程序,解决方法或信息,或者可以解释为什么它尚未解决,请分享您的知识。

0 个答案:

没有答案