Я использую Poetry для сборки tar.gz. и .whl моего пакета. Документация Cython рекомендует распространять файлы c, созданные cython, вместе с файлами pyx. http://docs.cython.org/en/latest/src/userguide/source_files_and_compilation.html#distributing-cython-modules
Что я должен добавить к build.py
или pyproject.toml
для создания файлов c/cpp, вызвав poetry build
и poetry build -f sdist
?
Я пробовал это (из Создать package с cython, чтобы пользователи могли установить его без уже установленного cython):
build.py:
from setuptools.command.build_ext import build_ext
from setuptools.command.sdist import sdist as _sdist
...
class sdist(_sdist):
def run(self):
# Make sure the compiled Cython files in the distribution are up-to-date
self.run_command("build_ext")
_sdist.run(self)
def build(setup_kwargs):
setup_kwargs.update({
...
'cmdclass': {'sdist': sdist,
'build_ext': build_ext}
})
Не работал для меня.