gpt4 book ai didi

python - 自定义 Cython 生成的 .so 文件的位置

转载 作者:太空狗 更新时间:2023-10-29 17:47:40 25 4
gpt4 key购买 nike

我有一个带有 C 库包装器的 Cython 包。这是包的树结构

package/
_api.pxd
_wrap.pyx
setup.py
wrapper/
__init__.py
wrap.py

python setup.py build_ext --inplace

_wrap.so 文件放在顶级 package/ 目录中,这在大多数情况下通常是必需的。但是,我的wrap.py 需要package/wrapper/ 目录中的_wrap.so。我想知道是否有一种方法可以让 setup.py 自行在所需位置创建 .so 文件,而无需手动将其复制并粘贴到该位置。

最佳答案

生成的 .so 文件的输出文件夹可以指定为 setuptools.Extension 函数的第一个参数。

这是一个 Cython 扩展的例子,

from setuptools import setup, find_packages, Extension
from Cython.Distutils import build_ext

ext_modules=[
Extension("package.wrapper.wrap", # location of the resulting .so
["package/wrapper/wrap.pyx"],) ]


setup(name='package',
packages=find_packages(),
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules,
)

关于python - 自定义 Cython 生成的 .so 文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043774/

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