翼度科技»论坛 编程开发 python 查看内容

Pybind11和CMake构建python扩展模块环境搭建

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
使用pybind11的CMake模板来创建拓展环境搭建

从Github上下载cmake_example的模板,切换分支,并升级pybind11子模块到最新版本
拉取pybind11使用cmake构建工具的模板仓库
  1. git clone --recursive https://github.com/mrchipset/cmake_example.git
复制代码
切换分支
  1. git checkout -b dev
复制代码
升级submodule并切换到最新的v2.11.0版本
  1. git submodule update --remote
  2. cd pybind11
  3. git checkout v2.11.0
复制代码
为了不破坏原有的python环境,我们新建一个虚拟的python环境,并切换到虚拟环境中进行实验
  1. python3 -m venv venv
  2. source venv/bin/activate
复制代码
使用pip进行编译和构建,确保正确安装了cmake和C++的编译工具链
  1. pip install ./cmake_example
复制代码

安装成功后就赶进在python中导入包试试吧
  1. (venv) mrchip@ubuntu22:~/src/demo/cmake_example$ python
  2. Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> import cmake_example
  5. >>> cmake_example.__version__
  6. '0.0.1'
  7. >>> dir(cmake_example)
  8. ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', 'add', 'subtract']
  9. >>> cmake_example.add(1, 2)
  10. 3
  11. >>> cmake_example.subtract(1, 4)
  12. -3
  13. >>>
复制代码
如果到这里都完成了,那么整明我们的pybind11开发环境已经搭建完成了,下一期我们将深入这个模板工程来了解一些pybind11构建拓展的基本操作流程
踩坑记录

如果直接cmake configure不过,那么需要检查是否安装了python的开发库其中包含了python头文件和链接库
  1. sudo apt install python3-dev libpython3-dev
复制代码
如果无法创建python虚拟环境,安装这个模块
  1. sudo apt install python3-venv
复制代码
如果没有安装编译环境那么可以先安装cmake和gcc等工具链
  1. sudo apt install cmake build-essential gdb
复制代码
来源:https://www.cnblogs.com/mrchip/p/18307279
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具