如何编译 C-Python 模块以使其对另一个模块是本地的?例如,如果我有一个名为“bar”的模块和另一个名为“mymodule”的模块,我如何编译“bar”以便它通过“import mymodule.bar”导入?
(抱歉,如果措辞不好,我不确定它的正确术语是什么。)
我在 setup.py 中尝试了以下操作,但似乎不起作用:
from distutils.core import setup, Extension
setup(name='mymodule',
version='1.0',
author='Me',
ext_modules=[Extension('mymodule', ['mymodule-module.c']),
Extension('bar', ['bar-module.c'])])
编辑
谢谢亚历克斯。所以这就是我最终使用的:
from distutils.core import setup, Extension
PACKAGE_NAME = 'mymodule'
setup(name=PACKAGE_NAME,
version='1.0',
author='Me',
packages=[PACKAGE_NAME],
ext_package=PACKAGE_NAME
ext_modules=[Extension('foo', ['mymodule-foo-module.c']),
Extension('bar', ['mymodule-bar-module.c'])])
当然还有一个名为“mymodule”的文件夹,其中包含__init__.py
.