Python 如何在';cibuildwheel&x27;在GitHub操作中

Python 如何在';cibuildwheel&x27;在GitHub操作中,python,c++,github-actions,eigen3,pybind11,Python,C++,Github Actions,Eigen3,Pybind11,我目前正在为Python绑定使用pybind11开发一个C++/Python包。该项目是混合的:它有部分用Python编写,其他部分是用C++编写的,并作为外部模块编译。 该项目使用cmake>1.7。大致上,这是项目的目录结构: PythonProject -> python_sources -> include [cpp headers] -> src [cpp sources] --> module.cpp [pybind11 bindings decl

我目前正在为Python绑定使用
pybind11
开发一个C++/Python包。该项目是混合的:它有部分用Python编写,其他部分是用C++编写的,并作为外部模块编译。 该项目使用
cmake>1.7
。大致上,这是项目的目录结构:

PythonProject
 -> python_sources
 -> include [cpp headers]
 -> src [cpp sources]
   --> module.cpp [pybind11 bindings declaration]
   --> cpp_sources [where the implementation of the headers goes]
该项目还依赖于Eigen3

我有项目设置,因此在构建控制盘时,首先编译cpp模块,然后将
*。因此
(如果是macOS)复制到
python\u源文件中

在我的机器(
macOS 11.2和XCODE 12
)中,我可以使用

python-m build
python-m build--sdist
(取决于我是否只构建源代码发行版)

这很好,我可以用
pip install-e./
测试安装

但是,当使用Github操作和
cibuildwheel
设置CI时,我无法使用
apt-get
在docker中安装
libegen3 dev
(我使用此命令设置
CIBW\u-BEFORE\u-ALL\u-LINUX
CIBW\u-BEFORE\u-BUILD\u-LINUX

可能有一个非常简单的解决方案(除了下载源代码),但不幸的是,我还没有找到答案,非常感谢您的帮助

另外,这是我关于堆栈溢出的第一篇文章,如果我遗漏了一些解决这个问题的必要信息,我很抱歉


编辑:找到解决方案->使用
yum安装eigen3-devel
而不是apt-get