我有一个表格
的目录结构setup.py
python/
__init__.py
a.py
b.f
我想将其安装为名为foo
的包,其结构为
site-packages/
foo/
__init__.py
a.py
b.so
但我不知道如何写setup.py
才能实现这一目标。到目前为止我已经
import numpy.distutils.core
b = numpy.distutils.core.Extension(name = 'b', sources = ['python/b.f'])
numpy.distutils.core.setup(
name = 'foo',
version = '0.0',
packages = ['foo'],
package_dir = {'foo':'python'},
ext_modules = [b]
)
但这会导致
site-packages/
foo/
__init__.py
a.py
b.so
很明显我在这里遗漏了一些东西。我如何让b.so
进入foo
包,而不是作为单独的包安装?
答案 0 :(得分:2)
告诉setuptools应该将某个扩展模块安装为包的一部分(例如foo
),而不是单独安装,只需将foo.
加到其名称前面即可。例如。变化
b = numpy.distutils.core.Extension(name = 'b', sources = ['python/b.f'])
到
b = numpy.distutils.core.Extension(name = 'foo.b', sources = ['python/b.f'])