6

我正在使用 Pycharm 作为我的 IDE(Python 3.7)并试图提取受密码保护的 .rar 文件(我知道密码)并已从 unrar 导入 rarfile 但收到此错误“LookupError:找不到 unrar 库的路径。”

我还尝试将导入语句更改为只说“import rarfile”,但出现以下错误“rarfile.RarCannotExec: Unrar not installed?”

我还尝试根据我在 rarfile 文档中找到的内容包含这行代码:rarfile.UNRAR_TOOL = "unrar"但是我遇到了同样的错误。

这是我的代码片段:

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


4

3 回答 3

5

除了@tom answer for Windows 10environment,以下步骤应该会有所帮助:

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

图形说明如下,

在此处输入图像描述

于 2020-06-10T03:00:45.863 回答
4

在不同的操作系统上需要不同的解决方案:在Windows上:</p>

  1. 下载libfile,http: //www.rarlab.com/rar/UnRARDLL.exe ,安装;

  2. 你最好选择默认路径,C:\Program Files (x86)\UnrarDLL\

  3. 最重要的是添加环境路径,varname输入UNRAR_LIB_PATH,注意,一定是!!!如果您的系统是 64 位,请输入 C:\Program Files (x86)\UnrarDLL\x64\UnRAR64.dll,如果您的系统是 32 位,请输入 C:\Program Files (x86)\UnrarDLL\UnRAR.dll。

  4. 保存环境路径后,重新运行你的 pycharm。

在Linux上你需要制作so文件,这有点困难。

  1. 同样,下载libfile http://www.rarlab.com/rar/unrarsrc-5.4.5.tar.gz,可以选择最新版本。

  2. 下载后解压文件得到文件unrar,cd unrar然后make lib,然后make install-lib,我们将得到文件libunrar.so(在/usr/lib中)。

  3. 最后,您还需要设置环境路径,vim /etc/profile打开文件profile,在文件末尾添加export UNRAR_LIB_PATH=/usr/lib/libunrar.so。然后保存文件,source /etc/profile用来使环境成功。

  4. 重新运行 .py 文件。

资源网站:<a href="https://blog.csdn.net/ysy950803/article/details/52939708" rel="noreferrer">https://blog.csdn.net/ysy950803/article/details/52939708

于 2019-04-08T15:36:55.440 回答
0

此外,在完成 Tom.chen.kang 和 balandongiv 提到的事情后,如果您使用 32 位 DLL 和 64 位 Python,反之亦然,那么当您尝试导入时,您可能会收到这样的错误解压:-

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

在这种情况下,请执行以下操作:

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

C:\Program Files (x86)\UnrarDLL\UnRAR.dll

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

C:\Program Files (x86)\UnrarDLL\x64\UnRAR.dll

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

于 2021-06-10T09:22:32.593 回答