mac M1 解决 UNRAR_LIB_PATH找不到错误

文章讲述了在Python中使用rarfile模块时遇到的LookupError,涉及从源码编译unrar库、通过brew安装unrar以及修改Python代码中库文件路径的过程。最终发现问题出在Python代码连接库文件上,通过指定正确路径解决了问题。
摘要由CSDN通过智能技术生成

1、安装包 : pip install unrar

在使用rarfile.extractall(path='.', pwd=pwd) 出现了错误提示:

LookupError: 无法找到 unrar 库的路径。

2、通过网上搜索找到了解决办法:

解决方法:

2.1. 下载官方源码库 https://www.rarlab.com/rar/unrarsrc-6.1.1.tar.gz

2.2. 源码编译

在文件管理器中解压并进入unrar目录,执行make命令,生成libunrar.so库文件。

然而,结果并未成功编译出libunrar.so库文件。即使尝试修改makefile文件中的DESTDIR位置也无法解决问题,因此只能尝试其他方法。

3、安装unrar工具:

3.1 使用brew install unrar 安装失败

3.2 解决方法:使用brew install carlocab/personal/unrar 安装成功

尽管执行了上述操作,问题依然没有得到解决。根据异常提示,似乎是无法找到库文件的位置。根据第3.2步骤,已经成功安装了unrar,可以在终端中执行unrar命令,这表明unrar相关的库文件已存在。问题可能在Python代码中没有正确关联库文件上。根据这个思路,找到了brew安装unrar的库文件位置:/opt/homebrew/lib/libunrar.dylib。接下来,需要在代码中进行相应的修改。首先,找到了报错的位置:unrarlib.py 文件的第52行,该行代码为:lib_path = lib_path or find_library("unrar")。将该行代码修改为:lib_path = '/opt/homebrew/lib/libunrar.dylib'。

再次执行程序,问题应该得到解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值