怎么在c++中调用Python

  介绍

小编给大家分享一下怎么在c++中调用Python,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Python的安装

为了使用Python.h这个扩展项,我们需要安装一个Python * - dev而不是Python *,这两者略有区别、下面的案例展示的是在Ubuntu20.04下安装python3.9-dev的方法:

dechin@ubuntu2004: ~/项目/gitlab/dechin/美元,sudo  apt  install  python3.9-dev   正在读取软件包列表…,完成   正在分析软件包的依赖关系树,,,,,,,   正在读取状态信息…,完成,,,,,,,   下列软件包是自动安装的并且现在不需要了:   chromium-codecs-ffmpeg-extra  gstreamer1.0-vaapi才能   libgstreamer-plugins-bad1.0-0  linux-headers-5.8.0-43-generic才能   linux——才能hwe - 5.8 -头- 5.8.0 - 43,linux-image-5.8.0-43-generic   linux-modules-5.8.0-43-generic  linux-modules-extra-5.8.0-43-generic才能   使用& # 39;sudo  apt  autoremove& # 39;来卸载它(它们)。   将会同时安装下列软件:   libexpat1-dev 才能;libpython3.9  libpython3.9-dev  zlib1g-dev   下列【新】软件包将被安装:   libexpat1-dev 才能libpython3.9  libpython3.9-dev  python3.9-dev  zlib1g-dev   升级了,0,个软件包,新安装了,5,个软件包,要卸载,0,个软件包,有,,30个软件包未被升级。   需要下载,6613年,kB 的归档。   解压缩后会消耗,28.7,MB 的额外空间。   您希望继续执行吗?,[Y/n], Y   获取:1,http://repo.huaweicloud.com/ubuntu 焦/main  amd64  libexpat1-dev  amd64  2.2.9-1build1  [116, kB]   获取:2,http://repo.huaweicloud.com/ubuntu  focal-updates/universe  amd64  libpython3.9  amd64  3.9.0-5 ~ 20.04, (1710, kB)   获取:3,http://repo.huaweicloud.com/ubuntu  focal-updates/universe  amd64  libpython3.9-dev  amd64  3.9.0-5 ~ 20.04, (4119, kB)   获取:4,http://repo.huaweicloud.com/ubuntu  focal-updates/main  amd64  zlib1g-dev  amd64  1:1.2.11.dfsg-2ubuntu1.2  [155, kB]   获取:5,http://repo.huaweicloud.com/ubuntu  focal-updates/universe  amd64  python3.9-dev  amd64  3.9.0-5 ~ 20.04, (512, kB)   已下载,6613年,kB,耗时,4秒,(1594,kB/s)   正在选中未选择的软件包,libexpat1-dev: amd64。   (正在读取数据库,…,系统当前共安装有,269544,个文件和目录)。   准备解压,…/libexpat1-dev_2.2.9-1build1_amd64.deb ,…   正在解压,libexpat1-dev: amd64  (2.2.9-1build1),……   正在选中未选择的软件包,libpython3.9: amd64。   准备解压,…/libpython3.9_3.9.0-5 ~ 20.04 _amd64.deb ,…   正在解压,libpython3.9: amd64  (3.9.0-5 ~ 20.04),……   正在选中未选择的软件包,libpython3.9-dev: amd64。   准备解压,…/libpython3.9-dev_3.9.0-5 ~ 20.04 _amd64.deb ,…   正在解压,libpython3.9-dev: amd64  (3.9.0-5 ~ 20.04),……   正在选中未选择的软件包,zlib1g-dev: amd64。   准备解压,…/zlib1g-dev_1 % 3 a1.2.11.dfsg-2ubuntu1.2_amd64.deb ,…   正在解压,zlib1g-dev: amd64  (1:1.2.11.dfsg-2ubuntu1.2),……   正在选中未选择的软件包,python3.9-dev。   准备解压,…/python3.9-dev_3.9.0-5 ~ 20.04 _amd64.deb ,…   正在解压,python3.9-dev  (3.9.0-5 ~ 20.04),……   正在设置,libpython3.9: amd64  (3.9.0-5 ~ 20.04),……   正在设置,libexpat1-dev: amd64  (2.2.9-1build1),……   正在设置,zlib1g-dev: amd64  (1:1.2.11.dfsg-2ubuntu1.2),……   正在设置,libpython3.9-dev: amd64  (3.9.0-5 ~ 20.04),……   正在设置,python3.9-dev  (3.9.0-5 ~ 20.04),……   正在处理用于,man-db (2.9.1-1),的触发器,……   正在处理用于,libc-bin  (2.31 0 ubuntu9.2),的触发器,…

安装完成后,如果在当前命令行下运行python3.9,是可以看到一个python专属的命令行界面的,可以通过退出()退出。但是我们这里侧重的是跟c++的配合工作,因此我们更加关注自由和包括目录下是否有生成相关的目录,可以执行如下指令进行查看:

dechin@ubuntu2004: ~/项目/gitlab/dechin/美元,ll /usr/lib/, |, grep  python   drwxr-xr-x , 26, root  root ,, 20480, 5月,,,7 16:27  python2.7/drwxr-xr-x ,, 3, root  root ,,, 4096年,2月,,10 02:47  python3/drwxr-xr-x , 30, root  root ,, 20480, 5月,,,7 16:30  python3.8/drwxr-xr-x , 31, root  root ,, 12288, 5月,,20,16:31  python3.9/

怎么在c++中调用Python