【发布时间】:2020-02-17 19:14:32
【问题描述】:
我刚刚阅读了Cython Pure Python Mode documentation,但我不确定我是否理解正确。听起来好像我可以保持所有 Python 文件原样,在我声明 Cython 类型的地方添加 *.pxd 文件。在setup.py中,我还是加了
from setuptools import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize(
"A.py",
compiler_directives={'language_level' : "3"}
)
)
当我运行 python setup.py build_ext --inplace 时,它实际上会构建 .so 文件。
当我创建 sdist / bdist,将它们上传到 PyPI 并且用户没有匹配的平台时会发生什么?他们肯定会下载 sdist。我猜 pip / setuptools 会自动尝试编译扩展模块(A.py),我猜如果它有效,那很好。但是如果 cythonize 失败了怎么办?它还会安装包并使用纯 Python 代码吗?
【问题讨论】:
标签: pip cython setuptools