Я нашел решение: у меня есть пакет 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" : "." },