You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Flatpak中使用py7zr提取7z压缩包遇依赖问题求助

Flatpak环境下py7zr依赖问题的解决方法

问题概述

开发Linux模组管理器时,在Flatpak环境中使用py7zr提取7z包遇到依赖冲突:

  • 常规生成依赖后构建,提示找不到满足要求的backports.zstd>=1.0.0版本
  • 手动添加该依赖后,又出现pyppmd版本元数据不一致问题(安装包标注1.3.1,但实际元数据为0.0.0)

复现步骤:

  1. 执行python3 flatpak-pip-generator.py py7zr生成依赖配置
  2. 执行flatpak-builder --user --install --force-clean --repo=repo build-dir com.test.yaml构建Flatpak

可行解决方法

方法1:锁定兼容的py7zr版本

最新版py7zr依赖的backports.zstd版本在Flatpak的pip源中可能缺失,可选择依赖版本更兼容的py7zr版本:

  1. 生成指定版本的依赖配置:
python3 flatpak-pip-generator.py py7zr==0.21.0

(注:该版本依赖的backports.zstd版本较低,Flatpak环境可正常获取)
2. 重新执行Flatpak构建命令

方法2:手动修复pyppmd版本元数据问题

pyppmd的tar包存在版本元数据错误,可在Flatpak构建配置中手动修正:

  1. 打开flatpak-pip-generator生成的yaml文件,找到python3-pyppmd模块
  2. 修改其build-commands,先解压包并修正setup.py的版本号,再安装:
modules:
  - name: python3-pyppmd
    buildsystem: simple
    build-commands:
      - tar xzf pyppmd-1.3.1.tar.gz
      - sed -i 's/version="0.0.0"/version="1.3.1"/' pyppmd-1.3.1/setup.py
      - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} pyppmd-1.3.1/
    sources:
      - type: file
        url: https://files.pythonhosted.org/packages/source/p/pyppmd/pyppmd-1.3.1.tar.gz
        sha256: 2b2240524f000f5a6c4ddf34b6e40c9f385a0f3a7f1770b6d78a0a90b0e042a5
  1. 确保backports.zstd已正确添加到依赖模块中
  2. 重新执行构建命令

方法3:替换为命令行工具+封装库

避开py7zr的依赖问题,直接使用系统级7z工具配合patool:

  1. 在Flatpak manifest中添加p7zip工具的依赖:
modules:
  - name: p7zip
    sources:
      - type: archive
        url: https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2
        sha256: 5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea890870dd5457847
    buildsystem: simple
    build-commands:
      - make all3
      - install -Dm755 bin/7z ${FLATPAK_DEST}/bin/7z
  1. 生成patool的依赖配置:
python3 flatpak-pip-generator.py patool
  1. 在代码中使用patool调用7z解压:
import patoolib
patoolib.extract("your_file.7z", outdir="output_dir")
  1. 重新构建Flatpak

内容的提问来源于stack exchange,提问作者Allexio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 14:28:09