安装扩展模块的混合物。纯python模块和带distutils的共享库

时间:2011-08-04 17:34:55

标签: python distutils cython

我正在使用cython来构建扩展模块。该模块依赖于外部共享库,该库在构建模块时找到。此外,我在同一目录中有一些纯Python模块。

有人可以给我一个示例setup.py来执行此任务吗?在调用“python setup.py install”时,我在同一目录中获取扩展模块,纯python模块和共享库时遇到问题。

1 个答案:

答案 0 :(得分:1)

我找到了一个解决方案:我有一个像

这样的包dir ABC
ABC/
    __init__.py
    A.py
    B.pyx
    C.so             (or C.dll and C.lib on win)

然后以下setup.py完成工作:

#input-encoding: utf-8
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
  name = "ABC",
  packages = ["ABC"],
  package_dir = { "ABC" : "." },
  ext_package = "ABC",
  cmdclass = {'build_ext': build_ext},
  package_data = { ".": [ "C.dll"] },
  ext_modules = [ Extension("B", sources="B.pyx", libraries="C" ) ]
)

我必须将setup.py放入ABC /并通过package_dir = { "ABC" : "." },

重定向
相关问题