Как установить путь к библиотеке unrar в Python? - PullRequest
1 голос
/ 08 апреля 2019

Я использую Pycharm в качестве своей IDE (Python 3.7) и пытаюсь извлечь защищенный паролем файл .rar (я знаю пароль) и импортировал rarfile из unrar, но получаю эту ошибку "LookupError: Couldn 'найти путь к библиотеке unrar. "

Я также попытался изменить свой оператор импорта, чтобы просто сказать «import rarfile», но вместо этого получил следующую ошибку «rarfile.RarCannotExec: Unrar не установлен?»

Я также попытался включить эту строку кода, основываясь на чем-то, что я нашел в документации 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


1 Ответ

0 голосов
/ 08 апреля 2019

на разных ОС нужны разные решения: в Windows:

  1. загрузить libfile, http://www.rarlab.com/rar/UnRARDLL.exe, установить его;

  2. вам лучше выбрать путь по умолчанию, C: \ Program Files (x86) \ UnrarDLL \

  3. самое важное - добавить путь к среде, в качестве имени переменной введите UNRAR_LIB_PATH, обратите внимание, это должно быть !!!. затем, если ваша система 64-битная, введите C: \ Program Files (x86) \ UnrarDLL \ x64 \ UnRAR64.dll, если ваша система 32-битная, введите C: \ Program Files (x86) \ UnrarDLL \ UnRAR.dll.

  4. после сохранения пути к окружению, перезапустите ваш pycharm.

в 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 (в /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

...