在开发模式下使用waf编译cython扩展

时间:2016-01-18 09:30:44

标签: cython waf

这是一个简单的Cython包:

foo/
    __init__.py # Contains:  from . import foo
    foo.pyx

我使用waf(我知道pyximportsetup.py也可以使用)来构建来自foo.pyx的Python扩展程序:

foo/
    __init__.py # Contains:  from . import foo
    foo.pyx

build/
    foo/
         foo.cpython-35m-x86_64-linux-gnu.so

我想导入foo包而不安装它(开发模式)。

如果Python扩展名在__init___旁边,就像这样:

foo/
    __init__.py # Contains:  from . import foo
    foo.cpython-35m-x86_64-linux-gnu.so

它可以工作,但__init__.py位于源目录中,而.so文件位于构建目录中。

我想避免在源目录中复制.so文件。

解决方案是在foo/__init__.py中复制(使用waf)build/foo/__init__.py,然后在foo中导入build/包。

还有其他选择吗?

源代码为here

0 个答案:

没有答案