我正在使用cython来构建扩展模块。该模块依赖于外部共享库,该库在构建模块时找到。此外,我在同一目录中有一些纯Python模块。
有人可以给我一个示例setup.py来执行此任务吗?在调用“python setup.py install”时,我在同一目录中获取扩展模块,纯python模块和共享库时遇到问题。
答案 0 :(得分:1)
我找到了一个解决方案:我有一个像
这样的包dir ABCABC/
__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" : "." },