Python pip包:编译依赖于libclang的代码的正确方法

Python pip包:编译依赖于libclang的代码的正确方法,python,c++,clang,pip,libclang,Python,C++,Clang,Pip,Libclang,我正在构建一个python库,我想通过pip安装它。安装过程需要编译一个cpp文件,该cpp文件依赖于libclang(特别是,它包括一些clang-c头文件,需要与libclang.so链接) 我假设最终用户已经安装了clang++。然而,我不知道安装在哪里。例如,当我在本地安装CLAN+++时,即使它安装了所有的头文件和我需要的库,如果我只编译一个具有< /P>的C++ C++文件 #include <clang-c/CXCompilationDatabase.h> #包括

我正在构建一个python库,我想通过pip安装它。安装过程需要编译一个cpp文件,该cpp文件依赖于libclang(特别是,它包括一些clang-c头文件,需要与libclang.so链接)

我假设最终用户已经安装了clang++。然而,我不知道安装在哪里。例如,当我在本地安装CLAN+++时,即使它安装了所有的头文件和我需要的库,如果我只编译一个具有< /P>的C++ C++文件
#include <clang-c/CXCompilationDatabase.h>
#包括
它找不到它。我需要通过命令行参数或
CPLUS\u INCLUDE\u path
显式提供路径

现在我需要一些方法让pip调用的脚本找到这些头。显然,我可以要求用户在运行安装过程之前将
CPLUS\u INCLUDE\u PATH
LD\u LIBRARY\u PATH
设置为包含到clang++的路径,但这看起来很难看。我可以将标题和库添加到包中,但我更希望它是根据用户拥有的版本构建的。如果用户有一个clang++安装(或者至少如果他通过apt get或另一个包管理器安装了一个),是否有办法找到clang++安装,或者一般来说,在构建pip包时,解决此问题的正确方法是什么