python源码编译为库_编译 python 生成静态库 libpython2.7.so

由于我们是C++作驱动的Python开发,驱动需要加上Python静态库libpython2.7.so、libpython2.7.so.1.0、libpython2.7.a。

此处我想在python源码上加上自己加的log,因此要重新编译Python生成共享库(动态库、静态库),再生成驱动。

一般快速编译安装Python源码步骤:

./configure

make

make install

如果要生成共享库libpython2.7.so、libpython2.7.so.1.0、libpython2.7.a(.so为动态库,.a为静态库),则为:

./configure --prefix=/usr/local/python2.7--enable-shared

make

make install altinstall

--prefix 指定你要安装的目录,--enable-shared 表示编译成共享库;

install 安装会使用新安装的版本,altinstall 则会使用旧版本(假如有)。

如果要在环境中使用,还要设置路径(注意这里会替换原来环境中的python,之前安装过的库会使用不了,最好先做备份!!!):

ln -s /usr/local/python2.7/lib/libpython2.7.so/usr/lib

ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0/usr/lib

ln -s /usr/local/python2.7/bin/python2.7/usr/local/bin

/sbin/ldconfig -v

重新编译安装python还是遇到一些坑。

因项目需求需要把python2.7.3升级为pyhton2.7.14,重新指定目录编译安装python2.7.14后,把对应的动态库文件(so文件)替换后,发现pyhton仍然使用旧版本。

后面查看pyhton依赖库:

which python

ldd /usr/local/python

发现,python2.7.3版本 并没有依赖动态库,所以这里替换掉动态库还是不行。

解决方法(替换掉python执行文件):

ln -s /usr/local/python2.7/bin/python2.7/usr/local/bin

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值