Ubuntu环境下使用Python解压7z文件出现patool报错如何解决?
错误原因
pyunpack 是基于 patool 实现的上层封装库,本身不内置解压能力,需要调用系统中已安装的对应格式解压工具。你在 Windows 环境下已经预先安装了 7z 可执行程序所以可以正常运行,Ubuntu 默认没有预装 7z 格式的解压工具,因此触发该报错。同时你代码中使用的 Windows 风格盘符路径在 Ubuntu 环境下也不兼容,需要同步修改。
修复步骤
- 首先安装 Ubuntu 下的 7z 解压工具:
执行终端命令:
安装完成后执行sudo apt update && sudo apt install p7zip-full p7zip-rar7z --version验证,输出版本信息即为安装成功。 - 修改代码中的路径为 Linux 风格路径:
将 Windows 下的盘符路径改为 Ubuntu 下的绝对路径,示例如下:from pyunpack import Archive # 替换为你自己的实际文件路径 Archive("/home/你的用户名/folder/file.7z").extractall("/home/你的用户名/output_folder")
无系统依赖的备选方案
如果不想依赖系统层面的解压工具,可以使用纯 Python 实现的 7z 解压库 py7zr,无需额外安装系统软件:
- 先安装依赖库:
pip install py7zr - 调整解压代码:
import py7zr with py7zr.SevenZipFile("/home/你的用户名/folder/file.7z", mode="r") as zf: zf.extractall(path="/home/你的用户名/output_folder")
内容的提问来源于stack exchange,提问作者Cheries
相关产品推荐
相关产品推荐

