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)不工作到根本不启动的窗口冻结应用程序(带有错误消息)。(#6196)The procedure entry point LoadIconMetric could not be located...
  • (Windows) 修复可选嵌入式产品版本信息资源结构中字符串的声明长度。声明的长度过长,导致在使用ctypes和 winver API读取版本信息时出现尾随垃圾字符。(#6219)
  • (Windows) 删除onefile 通过激活上下文加载冻结可执行文件清单的尝试,该操作失败并显示可在调试版本中观察到的消息。自从#3746将清单直接嵌入到 可执行文件中以来,这种方法一直无效。(#6248)An 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模块添加钩子,以确保收集到相应的插件。(#6250)PySide2``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阻止引导加载程序使用工具链构建的两个截断警告。(#6196)winlibs MinGW-w64
  • 更新 Linux 引导加载程序交叉编译器 Dockerfile 以允许使用官方 PyPA 基础镜像代替码头交叉镜像。(#6245)

你可能感兴趣的:(Python,linux,运维,服务器)