I am using Pycharm as my IDE (Python 3.7) and am trying to extract a password protected .rar file (I know the password) and have imported rarfile from unrar but am getting this error "LookupError: Couldn't find path to unrar library."
I also attempted changing my import statement to just say "import rarfile" but instead got the following error "rarfile.RarCannotExec: Unrar not installed?"
I also tried including this line of code, based on something I found in the rarfile documentation: rarfile.UNRAR_TOOL = "unrar" however I got the same errors.
Here is a snippet of my code:
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
答案 0 :(得分:2)
除了针对Windows 10
环境的@tom答案之外,以下步骤也应有所帮助:
图形如下,
答案 1 :(得分: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 或其他开发环境。
答案 2 :(得分:-1)
在不同的操作系统上需要不同的解决方案: 在Windows上:
下载libfile http://www.rarlab.com/rar/UnRARDLL.exe,进行安装;
最好选择默认路径C:\ Program Files(x86)\ UnrarDLL \
最重要的是添加环境路径,将变量名输入UNRAR_LIB_PATH,注意,一定是!!!如果您的系统是64位,则输入C:\ Program Files(x86)\ UnrarDLL \ x64 \ UnRAR64.dll,如果您的系统是32位,则输入C:\ Program Files(x86)\ UnrarDLL \ UnRAR.dll。
< / li>保存环境路径后,重新运行pycharm。
在Linux上,您需要制作此类文件,这有点困难。
相同,下载libfile http://www.rarlab.com/rar/unrarsrc-5.4.5.tar.gz,可以选择最新版本。
下载后解压缩文件,得到文件cd unrar
,然后是make lib
,然后是make install-lib
,我们将得到文件libunrar.so
(在/ usr中/ lib)。
最后,您还需要设置环境路径,vim /etc/profile
打开文件profile
,在文件末尾添加export UNRAR_LIB_PATH=/usr/lib/libunrar.so
。然后保存文件,使用source /etc/profile
使环境成功。
重新运行.py文件。
资源网站:https://blog.csdn.net/ysy950803/article/details/52939708