【发布时间】:2010-12-13 11:15:41
【问题描述】:
我如何编译一个 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。
【问题讨论】:
标签: python distutils python-c-api