由于我们是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


参考:

http://stackoverflow.com/questions/16018463/difference-in-details-between-make-install-and-make-altinstall

http://stackoverflow.com/questions/26597527/how-to-install-libpython2-7-so

最新文章

  1. 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json
  2. BZOJ 1876: [SDOI2009]SuperGCD
  3. <!DOCTYPE>标签的定义与用法
  4. wpf数据绑定
  5. S2SH框架的集成
  6. UML类图相关实践
  7. 问题-delphi无法编辑oracle表
  8. java 图片压缩 剪切 水印 转换 黑白 缩放
  9. oracle数据泵之解决方案(用户)导入导出。
  10. ASP.Net中上传文件的几种方法
  11. winserver-查看登陆日志
  12. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门
  13. HDOJ 1166 敌兵布阵 (线段树)
  14. OC学习笔记
  15. office excel中怎么添加批注及修改批注用户名
  16. Hashtable与HashMap的区别
  17. union与union all的用法给区别
  18. go语言之行--结构体(struct)详解、链表
  19. MT【113】无中生有加一个减一个
  20. leetcode 91. 解码方法 JAVA

热门文章

  1. 厦门Uber优步司机奖励政策(1月11日~1月17日)
  2. Java:xxx is not an enclosing class
  3. Arduino-元件简介
  4. 「国庆训练」Bomb(HDU-5934)
  5. linux下的java开发环境
  6. Python简要标准库(2)
  7. Unity - Humanoid设置Bip骨骼导入报错
  8. [CF19B]Checkout Assistant
  9. SpringCloud IDEA 教学 (一) Eureka的简介与服务注册中心的建立
  10. mybatis 枚举类型使用