问题描述
我目前正在使用 pybind11
为 Python 绑定开发 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 模块,然后将 *.so
(如果是 macOS)复制到 python_sources
。
在我的机器 (macOS 11.2 with XCODE 12
) 中,我可以使用
python -m build
或 python -m build --sdist
(取决于我是否只构建源代码分发)
这很有效,我可以使用 pip install -e ./
测试安装。
但是,在使用 Github 操作和 cibuildwheel
设置 CI 时,我无法在 docker 中使用 libeigen3-dev
安装 apt-get
(我设置了 CIBW_BEFORE_ALL_LINUX
和CIBW_BEFORE_BUILD_LINUX
使用此命令)。
可能有一个非常简单的解决方案(除了下载源代码),但不幸的是我无法弄清楚,非常感谢一些帮助。
另外,这是我关于堆栈溢出的第一篇文章,所以如果我遗漏了一些解决这个问题的必要信息,我很抱歉。
编辑:找到解决方案 -> 使用 yum install eigen3-devel
而不是 apt-get
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)