PyInstaller 4.6版本发布及更新内容

4.6 (2021-10-29)

特征

  • 添加对 Python 3.10 的支持。(#5693
  • (Windows)onedir默认情况下将清单嵌入到生成的可执行文件中,以避免用户重命名可执行文件时的潜在问题(例如,当用户重命名可执行文件并尝试在重命名之前运行它时,由于激活上下文缓存而不再找到清单清单文件)。在onedirmode中生成外部清单文件的旧行为可以使用--no-embed-manifest命令行开关重新启用,或通过.spec 文件中的 embed_manifest=False参数 to重新启用 EXE()。(#6248
  • (Windows) 尊重 Window 的 VSVersionInfo 文件中的PEP 239编码说明符。( #6259
  • 通过importlib.resources(python >= 3.9) 或importlib_resources (python <= 3.8)实现用于访问文件系统资源(数据文件)的基本资源读取器。(#5616
  • 运送用于基于MUSL-Linux发行版(例如高山或的OpenWRT)上预编译车轮x86_64aarch64。(#6245

错误修正

  • (macOS) 确保在独立 PKG 模式下应用可执行的预处理和后处理步骤(目标架构选择、SDK 版本调整、(重新)签名)。(#6251
  • (macOS) 强化 macOS 程序集管道以解决codesignmacOS 10.13 High Sierra 上实用程序的问题。(#6167
  • (Windows)sysconfig在使用 MSYS2/MINGW python 时修复特定于平台的数据模块的集合。(#6118
  • (Windows) 修复使用MinGW-w64工具链编译引导加载程序时未处理异常对话框(窗口模式)中显示的脚本名称和异常消息。(#6199
  • (Windows) 在onedir使用强制嵌入默认清单的MinGW-w64工具链(例如,来自的工具链msys2)编译引导加载程序时,修复冻结的应用程序中的问题。问题范围从与清单相关的选项(例如,uac-admin)不工作到根本不启动的窗口冻结应用程序(带有错误消息)。(#6196The procedure entry point LoadIconMetric could not be located...
  • (Windows) 修复可选嵌入式产品版本信息资源结构中字符串的声明长度。声明的长度过长,导致在使用ctypes和 winver API读取版本信息时出现尾随垃圾字符。(#6219
  • (Windows) 删除onefile 通过激活上下文加载冻结可执行文件清单的尝试,该操作失败并显示可在调试版本中观察到的消息。自从#3746将清单直接嵌入到 可执行文件中以来,这种方法一直无效。(#6248An attempt to set the process default activation context failed because the process default activation context was already set.``onefile
  • (Windows) 抑制api-ms-win-core-*DLL 的缺失库警告。(#6201
  • (Windows) 容忍读取带有 unicode 字节顺序标记的 Windows VSVersionInfo 文件。(#6259
  • 修复sys.executable在包旁加载模式 ( pkg_append=False)下指向外部包文件而不是可执行文件的问题。(#6202
  • 修复一个失控的 glob,它导致ctypes.util.find_library("libfoo")非确定性地选择任何匹配libfoo*到 bundle 而不是libfoo.so. (#6245
  • 修复与 MIPS 和 loongarch64 架构的兼容性。(#6306
  • 修复FrozenImporter.get_source()以正确处理包的 __init__.py源文件。pytorch当源 .py 文件被收集并可用(例如,kornia)时,这反过来修复了使用JIT 的包的缺失源文件错误。(#6237
  • 修复在使用 side-load mode ( pkg_append=False) 与onefilemode结合时生成的独立 pkg 文件的位置。包文件现在放在可执行文件旁边,而不是放在 .spec 文件旁边。(#6202
  • 当生成规范文件,避免硬编码的规范文件的位置作为 pathex参数传递给Analysis。(#6254

不兼容的变化

  • (Windows) 默认情况下,清单现在以onedir模式嵌入到可执行文件中 。可以使用--no-embed-manifest 命令行开关或通过.spec 文件中的embed_manifest=False参数 to 重新启用生成外部清单文件的旧行为EXE()。(#6248

挂钩

  • (macOS) 修复与 AnacondaPyQt5包的兼容性。(#6181
  • 添加一个钩子pandas.plotting以恢复与pandas 1.3.0 及更高版本的兼容性。(#5994
  • QtOpenGLWidgetsPyQt6PySide6收集QtOpenGLWidgetsQt6 中引入的新模块添加一个钩子( #6310 )
  • 为基于 Qt5 的包(和)的QtPositioningQtLocation模块添加钩子,以确保收集到相应的插件。(#6250PySide2``PyQt5
  • 修复PyQt5conda 主渠道与5.9.2 的兼容性。(#6114
  • 防止可能由部分PyQt6安装触发的基于 Qt 的包的钩子中的潜在错误。(#6141
  • 更新QtNetwork挂钩PyQt6PySide6 收集tlsQt 6.2 中引入的新插件。(#6276
  • 更新gi.repository.GtkSource钩子以接受模块版本 hooksconfig 字典,以允许钩子与大于 3.0 的 GtkSource 版本一起使用。(#6267

引导加载程序

  • (Windows) 禁止snprintf阻止引导加载程序使用工具链构建的两个截断警告。(#6196winlibs MinGW-w64
  • 更新 Linux 引导加载程序交叉编译器 Dockerfile 以允许使用官方 PyPA 基础镜像代替码头交叉镜像。(#6245
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值