gpt4 book ai didi

Python 安装脚本扩展,如何包含 .h 文件?

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

所以我有一个看起来像这样的目录:

 home\
setup.py
some_python_file.py
ext\
__init__.py
c_file1.c
c_file2.c
ext_header.h

显然头文件是编译 c 文件所必需的,但问题是我无法让安装脚本包含头文件。

我的扩展对象是这样的:

Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c'])

哪个有效,但不包含头文件。如果我将其更改为:

Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c', 'ext_header.h'])

它包含“.h”文件,但在我运行安装时没有构建。相反,它给出错误 error: unknown file type '.h' (from 'ext/ext_header.h')

如果我像这样将头文件包含为数据文件:

data_files=[('ext', ['ext/ext_header.h'])]

它根本不起作用,.h 文件甚至没有进入 MANIFEST 文件。

所以我的问题是,如何将此扩展包含在头文件中,以便 python setup.py install 正确构建它?

最佳答案

我感觉 pyfunc 正在寻找更标准的解决方案,但我确实自己找到了另一个解决方案。我不知道这是一个好的解决方案还是只是一个 hack,但我所做的只是将头文件添加到 MANIFEST.in。该文档并没有真正使它看起来像是 MANIFEST.in 文件的用途,但它确实有效。我的 MANIFEST.in 文件现在看起来像这样:

include ext/ext_header.h

其中包含文件并在我运行 python setup.py install 时成功编译

关于Python 安装脚本扩展,如何包含 .h 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4259170/

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