使用Cython编译多python文件并生成一个

时间:2019-03-11 12:35:16

标签: python cython

我有一些python文件,并且所有操作都暴露在Main文件中。我想编译它们并为其他人分发一个.so

我尝试用cython编译它们,但是生成了多个.so(有效,但并不完美)。

示例:

文件夹结构为:

CythonExample/
|——for_call.py
|——setup.py
|——Student.py

setup.py

from distutils.core import setup, Extension
from Cython.Build import cythonize

setup(
    ext_modules=cythonize(["Student.py", "for_call.py"]),
)

python setup.py build_ext --inplace,然后我得到Student.sofor_call.so

我将setup.py修改为:

from distutils.core import setup, Extension
from Cython.Build import cythonize

setup(
    name='sayname',
    ext_modules=cythonize(Extension("sayname", sources=["Student.py", "for_call.py"], language="c")),
)

然后 python setup.py build_ext --inplace,很好,仅生成了sayname.so。但是当我尝试导入它时。

import sayname

ImportError: dynamic module does not define init function (initsayname)

谢谢。

0 个答案:

没有答案