ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Pybind11和CMake构建python扩展模块情况搭建
[打印本页]
作者:
老婆出轨
时间:
2024-7-17 13:19
标题:
Pybind11和CMake构建python扩展模块情况搭建
使用pybind11的CMake模板来创建拓展情况搭建
从Github上下载
cmake_example
的模板,切换分支,并升级pybind11子模块到最新版本
拉取pybind11使用cmake构建工具的模板仓库
git clone --recursive https://github.com/mrchipset/cmake_example.git
复制代码
切换分支
git checkout -b dev
复制代码
升级submodule并切换到最新的v2.11.0版本
git submodule update --remote
cd pybind11
git checkout v2.11.0
复制代码
为了不破坏原有的python情况,我们新建一个虚拟的python情况,并切换到虚拟情况中进行实验
python3 -m venv venv
source venv/bin/activate
复制代码
使用pip进行编译和构建,确保正确安装了cmake和C++的编译工具链
pip install ./cmake_example
复制代码
安装成功后就赶进在python中导入包试试吧
(venv) mrchip@ubuntu22:~/src/demo/cmake_example$ python
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cmake_example
>>> cmake_example.__version__
'0.0.1'
>>> dir(cmake_example)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', 'add', 'subtract']
>>> cmake_example.add(1, 2)
3
>>> cmake_example.subtract(1, 4)
-3
>>>
复制代码
假如到这里都完成了,那么整明我们的pybind11开发情况已经搭建完成了,下一期我们将深入这个模板工程来了解一些pybind11构建拓展的基本操作流程
踩坑记录
假如直接cmake configure不外,那么需要查抄是否安装了python的开发库其中包罗了python头文件和链接库
sudo apt install python3-dev libpython3-dev
复制代码
假如无法创建python虚拟情况,安装这个模块
sudo apt install python3-venv
复制代码
假如没有安装编译情况那么可以先安装cmake和gcc等工具链
sudo apt install cmake build-essential gdb
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4