如何将另一个.i swig文件添加到扩展名?

如何将另一个.i swig文件添加到扩展名?,swig,setuptools,deb,python-extensions,python-wheel,Swig,Setuptools,Deb,Python Extensions,Python Wheel,我已经使用SWIG为我的库创建了一个Python接口。这个Python接口使用numpy。所有这些都正常工作 myext = Extension( "MyExt", sources = ["MyExt.i"], swig_opts=["-py3", "-I/usr/include", "-includeall"], libraries=["mylib"], ) 现在,我想把这个Python接口打包成一个Python轮子。Windows的打包工作正常 myext = Ex

我已经使用SWIG为我的库创建了一个Python接口。这个Python接口使用numpy。所有这些都正常工作

myext = Extension( "MyExt",
    sources = ["MyExt.i"],
    swig_opts=["-py3", "-I/usr/include", "-includeall"],
    libraries=["mylib"],
)
现在,我想把这个Python接口打包成一个Python轮子。Windows的打包工作正常

myext = Extension( "MyExt",
    sources = ["MyExt.i"],
    swig_opts=["-py3", "-I/usr/include", "-includeall"],
    libraries=["mylib"],
)
在Windows上,编译直接发生在所有源文件和
setup.py
文件所在的位置。在构建我的
bdist\u deb
(与
bdist\u rpm
相同)时,Linux并非如此,这是我的问题

文件
MyExt.i
包括
numpy.i
。因此,我应该将其添加为扩展名的
源文件。但是,如果我这样做,那么
setuptools
也会尝试在
numpy.I
上运行swig。这不是我想要的。我还没有找到可以接受这样一个文件的
扩展名
的任何其他参数


有人知道如何摆脱这个问题吗?

这只是一个猜测,但您可能需要在名为MANIFEST.in的文件中列出numpy.i(用于告诉setuptools哪些文件属于源发行版,如果它们不能自动确定为依赖项)?@m7thon这是正确的答案。这只是一个猜测,但也许您需要在名为MANIFEST.in的文件中列出numpy.i(用于告诉setuptools哪些文件属于源发行版,如果它们无法自动确定为依赖项)?@m7thon这是正确的答案。