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

Python rarfile模块报RarCannotExec找不到可用工具如何解决

Python rarfile模块解压报RarCannotExec错误解决

问题复现

使用rarfile模块解压RAR文件的测试代码如下:

import rarfile

rar_path = r'C:\...\Test.rar'
rar_password = '123'


# rarfile.UNRAR_TOOL = r'path to what .exe? I cant find it, is this line necessary?'
rar = rarfile.RarFile(rar_path)
rar.extractall(pwd=rar_password)
rar.close()

运行后抛出报错:

rarfile.RarCannotExec: Cannot find working tool

已尝试操作:

  • 安装unrar工具并将其所在目录添加到系统PATH环境变量
  • 将WinRAR安装目录添加到系统PATH环境变量
  • 完成上述操作后重启IDE,报错仍然存在
    核心疑问:rarfile.UNRAR_TOOL参数需要指向哪个可执行文件,如何正确配置。

解决方法

  • rarfile.UNRAR_TOOL参数必须指向UnRAR命令行解压程序,不能指向WinRAR图形界面主程序:
    • 若本机已安装WinRAR,目标程序为WinRAR安装目录下的UnRAR.exe,默认安装路径为C:\Program Files\WinRAR\UnRAR.exe
    • 若单独安装了UnRAR命令行工具,目标程序为安装目录下的unrar.exe

    注意:不要配置为WinRAR.exe或Rar.exe,前者是图形界面主程序,后者仅支持压缩操作,均无法被rarfile模块正常调用。

  • 手动配置路径的参考代码如下,将路径替换为你本机UnRAR.exe的实际存储路径即可:
import rarfile

# 替换为本地UnRAR.exe的实际绝对路径
rarfile.UNRAR_TOOL = r'C:\Program Files\WinRAR\UnRAR.exe'

rar_path = r'C:\...\Test.rar'
rar_password = '123'

rar = rarfile.RarFile(rar_path)
rar.extractall(pwd=rar_password)
rar.close()
  • 配置后仍报错的排查点:
    • 手动打开配置的路径,确认对应位置确实存在UnRAR.exe文件,不要凭默认路径直接复制使用
    • 确认Python位数和UnRAR程序位数一致:32位Python需搭配32位UnRAR,64位Python需搭配64位UnRAR,位数不匹配会导致调用失败
    • 配置完成后重启运行代码的IDE/终端,避免旧环境变量缓存导致配置不生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:09:22