首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中设置unrar库的路径?

如何在Python中设置unrar库的路径?
EN

Stack Overflow用户
提问于 2019-04-08 13:07:16
回答 3查看 6.5K关注 0票数 6

我使用Pycharm作为我的IDE (Python3.7),并试图提取一个受密码保护的.rar文件(我知道密码),并从unrar导入rarfile,但是得到了这个错误"LookupError:无法找到unrar库的路径“

我还试图将导入语句更改为“导入rarfile”,但得到了以下错误"rarfile.RarCannotExec: Unrar not?“

我还尝试了包括这一行代码,基于我在rarfile文档中发现的内容: rarfile.UNRAR_TOOL = "unrar“,但是我得到了相同的错误。

下面是我的代码片段:

代码语言:javascript
复制
from unrar import rarfile

def hacker(file_path):
    passwords = open('pwds.txt', 'r')
    with rarfile.RarFile(file_path) as file:
        for line in passwords:
            try:
                file.pwd = line
                file.extractall()
            except RuntimeError:
                pass
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-08 15:36:55

对于不同的操作系统需要不同的解决方案:在Windows上:

  1. 下载libfile,http://www.rarlab.com/rar/UnRARDLL.exe,安装它;
  2. 您最好选择默认路径C:\Program (x86)\UnrarDLL\
  3. 最重要的是添加环境路径,变量名称输入UNRAR_LIB_PATH,注意,它必须是!然后,如果系统是64位,输入C:\Program (x86)\UnrarDLL\x64\UnRAR64.dll,如果系统是32位,输入C:\Program (x86)\UnrarDLL\UnRAR.dll。
  4. 保存环境路径后,重新运行您的吡咯烷酮。

在Linux上,您需要创建这样的文件,这有点困难。

  1. 同样,下载libfile http://www.rarlab.com/rar/unrarsrc-5.4.5.tar.gz,您可以选择最新版本。
  2. 下载解压缩文件后,获取文件unrar,cd unrar,然后是make lib,然后是make install-lib,我们将得到文件libunrar.so(in /usr/lib)。
  3. 最后,还需要设置环境路径,vim /etc/profile打开文件profile,在文件末尾添加export UNRAR_LIB_PATH=/usr/lib/libunrar.so。然后保存文件,使用source /etc/profile使环境成功。
  4. 重新运行.py文件。

资源网站:https://blog.csdn.net/ysy950803/article/details/52939708

票数 4
EN

Stack Overflow用户

发布于 2020-06-10 03:00:45

除了Windows 10环境的@tom答案之外,以下步骤应该会有所帮助:

  1. 通过链接下载libfile并安装它。
  2. 为了便于复制,请选择默认路径C:\Program (x86)\UnrarDLL\
  3. 转到“环境变量”窗口(链接)并选择“高级”。
  4. 单击“环境设置”。
  5. 在“用户变量”下,选择“新建”。
  6. 在新建用户变量中,将变量名重命名为UNRAR_LIB_PATH
  7. 要选择变量值,请选择“浏览文件”。根据您的系统,64位输入C:\Program (x86)\UnrarDLL\x64\UnRAR64.dll,如果您的系统是32位,输入C:\Program (x86)\UnrarDLL\UnRAR.dll。
  8. 保存环境路径并重新运行Pycharm。

图示如下,

票数 6
EN

Stack Overflow用户

发布于 2021-06-10 09:22:32

此外,在执行Tom.chen.kang和balandongiv所述的操作之后,如果您使用的是带有64位Python的32位DLL,或者反之亦然,那么当您试图导入unrar时,可能会出现这样的错误:-

OSError: WinError 193 %1不是有效的Win32应用程序

在这种情况下,可以这样做:

对于32 Python & 32位DLL,将变量UNRAR_LIB_PATH的环境变量更改为:

代码语言:javascript
复制
C:\Program Files (x86)\UnrarDLL\UnRAR.dll

对于64位Python & 64位DLL,将变量UNRAR_LIB_PATH的环境变量更改为:

代码语言:javascript
复制
C:\Program Files (x86)\UnrarDLL\x64\UnRAR.dll

重新启动Pycharm或其他开发环境。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55574212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档