centos7 中安装python3.x,并编译动态连接库

本文借鉴了 https://blog.csdn.net/jiedichina/article/details/84063973 的思路进行安装

为了使C能够调用python的代码,需要进行嵌入。我是在Linux上安装新的python3.7,因为是后安装的所以要设置动态库,才能使用C的编译器编译python的代码。
依赖库安装:

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel  libffi-devel

解压

tar -xvf Python-3.7

生成makefile文件

./configure -prefix=/usr/local/python3 --enable-shared
make -j8
make install

其中最重要的就是
在这里插入图片描述

一定要编译成动态库。有了动态库就由下面的so文件
centos7 中安装python3.x,并编译动态连接库_第1张图片

然后要把这些so文件放在/usr/lib64(centos)下。
centos7 中安装python3.x,并编译动态连接库_第2张图片

然后使用ln -s /usr/lib64/libpython3.7m.so.1.0 /usr/lib64/libpython3.so建立软连接。
还需要将源码文件下的include中的头文件,放到/usr/include/python3.7m/下,没有目录就新建一个。
在/usr/bin 下建立命令行的链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #为python3创建软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3  #为pip3创建软连接

然使用C的编译的命令就是

gcc xxxxxxx.c -o xxxxx -I/usr/include/python3.7m/ -lpython3.7m

附上官方的函数指南

你可能感兴趣的:(python,+,C)