运行pyinstaller时,必须确保执行可重现的构建.即可用于在可执行文件之间执行比特比较的一个.根据

docs:

Python uses a random hash to make dicts and other hashed types, and this affects compiled byte-code as well as PyInstaller internal data structures. As a result, two builds may not produce bit-for-bit identical results even when all the components of the application bundle are the same and the two applications execute in identical ways.

为此,只需在运行pyinstaller之前将PYTHONHASHSEED环境变量设置为常量:

PYTHONHASHSEED=1

export PYTHONHASHSEED

pyinstaller --onefile test.py

unset PYTHONHASHSEED

然后你可以使用你想要比较可执行文件的任何工具/模块,比如filecmp,BeyondCompare等,甚至只是Linux中的一个简单校验和:

cksum dist/test

编辑:关于时间戳或标记二进制文件 – 您可以执行以下操作以在构建后为Linux二进制文件添加其他注释:

# Create a file with the notes or comments to add to the binary.

# I am adding the current date for versioning info

date > version

# Add notes to the binary

objcopy --add-section .pyversion=version --set-section-flags .pyversion=noload,readonly dist/test dist/test-with-version

# Check the version/notes on the new binary

objdump -sj .pyversion dist/test-with-version

你应该得到类似的东西:

dist/test-with-version: file format elf64-x86-64

Contents of section .pyversion:

0000 46726920 53657020 31342031 343a3339 Fri Sep 14 14:39

0010 3a333620 41455354 20323031 380a :36 AEST 2018.

python生成linux执行文件_比较Python中两个PyInstaller生成的Linux可执行文件相关推荐

  1. python autoit上传文件_结合python+selenium使用AutoIt V3实现文件、图片上传

    1.下载.安装AutoIt V3 下载官网:https://www.autoitscript.com/site/autoit/downloads/ 2.AutoIt V3组件介绍 AutoIt Win ...

  2. python用什么处理文件_利用Python如何快速处理文件

    利用Python如何快速处理文件 我之前要合并将近1000个CSV表格 每个表格共370列,约360行不等,列名相同 三个方案瞬间浮现在我眼前: 1.Ctrl C + Ctrl V--可以睡公司了: ...

  3. python图片转pdf文件_用python 制作图片转pdf工具

    这篇文章主要介绍了用python 制作图片转pdf工具的思路及代码,非常详细,有需要的小伙伴参考下 最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用pyth ...

  4. python读取raw数据文件_【Python】OGR库(1):读取矢量数据

    OGR库是一个非常流行的处理地理空间矢量数据的开源库.它可以读取丰富的数据格式,允许用户进行几何处理.属性表操作.数据分析,是个非常强大的开源GIS库.目前OGR已集成在GDAL库中,可以说是GIS的 ...

  5. python如何播放mp3文件_使用python怎么播放音频

    使用 python 播放音频有以下几种方式: os.system() os.system(file) 调用系统应用来打开文件,file 可为图片或者音频文件. 缺点:要打开具体的应用,不能在后台播放音 ...

  6. python保存为excel文件_初级Python:在excel文件打开时保存它

    我的经验是sashkello是正确的,Excel会锁定文件.即使是OpenOffice/LibreOffice也会这样做.他们将文件锁定在磁盘上,并创建临时版本作为工作副本.任何试图访问打开的文件的程 ...

  7. python 复制并重命名文件_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  8. php图片生成加密pdf文件,如何在PHP中加密由TCPDF生成的PDF(密码保护)

    本文概述 PDF是数字世界中最接近正式文档的文件, 并且在现实生活中, 某些PDF旨在以保密的方式进行保密.而且, 如果你想使用TCPDF保护生成的PDF, 则库中内置了对密码保护和加密的支持, 你只 ...

  9. python怎样导出py文件_导出python模块(到字符串或py文件)

    摘要: 我想要一个'module'类型的变量并导出它.在 我使用import从.py文件导入python模块并对其进行更改.我需要将模块导出回一个文件,或者获取完整模块的字符串表示形式,然后将其写入磁 ...

  10. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

最新文章

  1. iptables 实现地址转换与安全控制
  2. golang正则表达式
  3. 《Web前端开发精品课 HTML与CSS进阶教程》——1.4 id和class
  4. 喜报!爱卡汽车签约神策数据
  5. 如何改造UE4用于赛璐璐3D卡渲?这里有一份日本大厂的实操分享
  6. Linux系统管理技术手册——第6章 添加新用户
  7. C-Lodop回调函数的触发
  8. g4e基础篇#6 了解Git历史记录
  9. 将py文件打包成exe可执行文件
  10. php中的图像下载函数,PHP实现的下载远程图片自定义函数分享
  11. Redis数据结构之哈希
  12. Oracle Database 中 B*Tree 索引内部维护
  13. java用linkedlist编写学生类_【S2第二学期-使用Java实现面向对象编程】Java平台的集合类(List、ArrayList、LinkedListMap、HashMap...
  14. 【java学习之路】(java SE篇)(讨论与思考)关于继承,封装,多态,接口的简单实现与思考
  15. 中国鲆鱼养殖产业呈现集聚趋势,主要集中于山东、辽宁两地「图」
  16. NXP与STM32单片机程序架构
  17. bcftools操作vcf文件
  18. 君莫笑系列视频学习(3)
  19. python设置word背景色_Java 给Word不同页面设置不同背景
  20. re-complie_re-中文_

热门文章

  1. 在centos上安装nginx
  2. 中国ERP软件发展趋势
  3. 面向实时嵌入式系统的图形用户界面支持系统――MiniGUI 背景,发展及优势
  4. 1、JavaScript 函数,2、JavaScript 正则表达式,3、JavaScript JSON,
  5. 1.UNIX 环境高级编程--UNIX基础知识
  6. 21. 面向服务的体系架构(SOA)
  7. 14.http 304优化,了解客户端缓存
  8. 29. JavaScript - 测试 jQuery
  9. windows系统 Git Server git服务器自己搭建 (基于 Gitblit or Gogs )
  10. DSAPI Wifi热点的扫描与连接