gpt4 book ai didi

python - Cython 在诗歌 sdist tar.gz 中生成了 c/cpp 文件,用于无 cython 安装

转载 作者:行者123 更新时间:2023-12-03 23:49:04 28 4
gpt4 key购买 nike

我使用 Poetry 来构建 tar.gz。和我的包裹的 .whl。 Cython 文档建议将 cython 生成的 c 文件与 pyx 文件一起分发。 http://docs.cython.org/en/latest/src/userguide/source_files_and_compilation.html#distributing-cython-modules

我应该添加什么 build.pypyproject.toml通过调用 poetry build 生成 c/cpp 文件和 poetry build -f sdist ?

我试过这个(来自 Create package with cython so users can install it without having cython already installed ):

构建.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}
})

不适合我。

最佳答案

当前版本poetry (1.0.5) 忽略自定义 build.py在构建 sdist 时,因此没有机会不修改 poetry第一的。同时,您可以使用第三方项目,如 taskipy 替换 poetry build带有自定义命令的命令,例如

# pyproject.toml

...

[tool.poetry.dev-dependencies]
cython = "^0.29.15"
taskipy = "^1.1.3"

[tool.taskipy.tasks]
sdist = "cython fib.pyx && poetry build -f sdist"

...
并执行 poetry run task sdist而不是 poetry build -f sdist .

关于python - Cython 在诗歌 sdist tar.gz 中生成了 c/cpp 文件,用于无 cython 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60432289/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com