没有合适的资源?快使用搜索试试~ 我知道了~
linux下打包python为二进制文件遇到的一些问题(glibc兼容问题,gcc兼容问题)
6 下载量 152 浏览量
2020-12-21
00:37:09
上传
评论
收藏 53KB PDF 举报
温馨提示
试读
1页
记录一下当时遇到的坑~ 之前在做一个基于python3编写的自动化主机巡检工具,因为工具是放到客户资产上去跑的,工具依赖一些第三方库,所以需要打包成二进制文件。 我当时用的是pyinstaller去打包,打包环境为Ubuntu16.4,打包过程顺利,但是生成的二进制文件放到centos6或者Ubuntu9等低版本linux系统中去跑的时候发现glib2.x找不到,网上查了下发现是在一些老版本中的glibc版本低,不兼容。 查看机器glibc版本可使用以下命令: lld --version 解决的方法当时想到的有两种,一是在当前机子上安装低版本的glibc,二是去低版本的操作系统打包编译。 第
资源详情
资源评论
资源推荐
linux下打包下打包python为二进制文件遇到的一些问题(为二进制文件遇到的一些问题(glibc兼容兼容
问题,问题,gcc兼容问题)兼容问题)
记录一下当时遇到的坑~
之前在做一个基于python3编写的自动化主机巡检工具,因为工具是放到客户资产上去跑的,工具依赖一些第三方库,所以需
要打包成二进制文件。
我当时用的是pyinstaller去打包,打包环境为Ubuntu16.4,打包过程顺利,但是生成的二进制文件放到centos6或者Ubuntu9等
低版本linux系统中去跑的时候发现glib2.x找不到,网上查了下发现是在一些老版本中的glibc版本低,不兼容。
查看机器glibc版本可使用以下命令:
lld --version
解决的方法当时想到的有两种,一是在当前机子上安装低版本的glibc,二是去低版本的操作系统打包编译。
第一种方法网上的教程不多,自己尝试过后也以失败告终,所以用了第二种方法去低版本操作系统上打包编译。
linux一般都是自带python2.x的,有些高版本的linux会带python3.x,比如说Ubuntu16。
我虚拟机安装了centos7.4,因为我的程序是基于python3的,所以还要自行安装python3和pip3,关于python3和pip3的安装网
上教程很多,这里就跳过了。
安装完毕后,我需要安装程序依赖的第三方库,我这边用的其中一个就是“yara-python”库,使用pip3去安装,过程中到编译的
时候报错,报错内容当时忘记截图了,反正就是gcc的版本太低(机子上是4.8左右的好像),不支持yara-python这个库的编
译。
于是就要升级gcc,升级的过程可以看这个:
linux升级gcc版本7.1.0
另外这里可能还会有一个坑,如果你用的是云服务器,而且配置很低,可能gcc在编译的时候会报内存不足的错误。虚拟机的
话直接加内存即可,很方便。如果是云服务器的话,不是弹性云就加不了,弹性云要加的话还得花钱~这个时候可以尝试增加
系统的swap分区,具体的教程可以看下面的文章:
解决编译GCC内存不足的错误
搞定gcc问题后,python第三方库成功安装,后续的打包编译也顺利~
宁波说书人
原创文章 1获赞 0访问量 92
关注
私信
展开阅读全文
作者:宁波说书人
weixin_38743506
- 粉丝: 349
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0