解决Python下安装unrar后仍然提示Couldn't find path to unrar library...
在写Python脚本的时候,由于做rar文件解压要用到unrar库,我们都会加上一句:
from unrar import rarfile
如果你是在Windows下使用PyCharm这种IDE,那么很方便,它会提示导入包,你也可以在项目设置中手动搜索第三方库并安装;
如果是Linux命令环境的话,推荐使用 pip install rarfile 和 pip install unrar 命令来安装这些库。
然而,你会发现,做了上述操作后,并不能通过Python程序实现解压的功能,并且会提示 Couldn't find path to unrar library...的错误,导致程序中断。
当时我百思不得其解,我明明安装了库为什么还找不到呢?
几经查阅,从python-unrar开源项目官网得知了Python下的unrar还依赖RAR官方的库。
那么,接下来就分Windows和Linux两个系统来介绍解决步骤。
Win:
1. 先到RARLab官方下载库文件,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 ,这个从unrar安装目录的内容也能看出来它是区分64和32位的。
4. 确定保存环境变量后,重启你的PyCharm,代码不变,再运行就不会出错了。这个时候依赖库已经添加到系统环境中。
Linux需要自己手动编译生成so文件,稍微麻烦一点:
1. 同样的,先去下载源文件,不过这就不像Win那样给你封装好了,你需要下载的是源代码:http://www.rarlab.com/rar/unrarsrc-5.4.5.tar.gz ,也就是RARLab官网下载列表中的 UnRAR Source,可以下载到最新版本;
2. 下载完后解压,得到unrar目录,cd unrar 后,使用 make lib 命令将会自动编译库文件,哗啦啦编译完成后,再使用 make install-lib 命令产生 libunrar.so 文件(一般在 /usr/lib 目录下面);
3. 最后,你仍然需要设置Linux系统的环境变量,找到 /etc 目录下的 profile 文件,当然你可以直接使用 vim /etc/profile 命令来编辑(有WinSCP这种远程访问目录的工具更方便),在 profile 文件末尾加上 export UNRAR_LIB_PATH=/usr/lib/libunrar.so ,别把我这句话的逗号加进去了。成功保存后再使用 source /etc/profile 命令使变量生效。
4. 这样一来,再运行py文件,就不会出错了,至少不会提示找不到unrar库了。
友情提示:如果有同学 make 命令用不了的,请自行安装g++编译器,命令:sudo apt-get install g++
结语,其实正常的安装顺序应该就是先把依赖库安装好,环境变量配置好,最后再去 pip install unrar 或者在IDE中导入unrar库的,不过大家是出现了错误提示才来补救,最终效果也一样。
参考资料:
https://github.com/matiasb/python-unrar/blob/master/README.md
http://stackoverflow.com/questions/31834502/couldnt-find-path-to-unrar-library-in-linux
http://blog.csdn.net/big_talent/article/details/52367184
解决Python下安装unrar后仍然提示Couldn't find path to unrar library...相关推荐
- linux安装gnome桌面6,解决CentOS下安装Gnome桌面错误提示之一的方法
昨天刚好在百度知道里面看到了有人说"解决Linux下root能正常进入系统,普通用户一直黑屏状态的方法"(经过测试,这个问题已经解决.而且普通用户加入root用户组后也是可以关机的 ...
- 解决win10下安装typescript后仍报“tsc不是内部或外部命令...”的问题
近日安装了node.js,再使用npm intsll -g typescript来安装了typescript后,发现在命令行输入tsc -v查看typescript版本的时候死活都报错"ts ...
- 解决windows下安装cnpm后,cnmp不是内部命令的问题
1.安装cnpm npm install -g cnpm -registry=https://registry.npm.taobao.org 2.验证cnpm 用下面命令检查cnpm安装,发现不可用, ...
- 解决docker下安装redis后,RedisDesktopManager可以链接,但是springboot项目不能链接的问题
主要原因:docker中的redis需要添加密码,不然数据会丢失,添加了密码远程访问的时候可能会出现链接不上,密码报错等问题,是因为docker中的redis版本是随时更新的,可以用 docker i ...
- 关于如何解决Python中安装requests后,pycharm报错ModuleNotFoundError: No module named 'requests'(转载+个人实践)
打开settings 点击+搜索requests 点击install package 成功安装. bs4也同理
- 彻底解决python库安装慢的问题
解决python pip安装慢的问题 提示:有的时候我们用pip安装一些python的常用库的时候,我们会发现,总是10kb/s的速度在下载,很影响我们的python库的使用,下面介绍几种快速下载py ...
- python安装完毕后,提示找不到ssl模块的解决步骤
python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python2.7.5 Python 2.7.5 (default, Jun 3 2013, 11:08:43) ...
- 海康摄像机在Edge浏览器的网页无法直接预览,按照要求安装WebComponents后仍然提示请安装插件的解决办法
海康摄像机在网页无法直接预览,按照要求安装WebComponents后仍然提示请安装插件的解决办法 在win10系统Microsoft Edge浏览器中亲测有效. 第一步:按照要求安装WebCompo ...
- win10下安装Ubuntu后,启动时没有win10选项解决方法
win10下安装Ubuntu后,启动时没有win10选项解决方法 参考文章: (1)win10下安装Ubuntu后,启动时没有win10选项解决方法 (2)https://www.cnblogs.co ...
最新文章
- 【bootstrap】bootstrap-4.5.0-example 各个模板展示
- 基于深度神经网络的风电场超短期功率预测系统【数据故事计划最佳学术奖】...
- 波场DApp数据分析
- 【java基础】POJO和JavaBean的区别
- 安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法
- OpenStack在keystone部分同步数据库报错Errno 13解决办法
- git提交过滤target文件 idea_找不到或无法加载主类(IDEA中启动spring boot项目)
- 请概述可视化卷积神经网络的中间输出的基本思想。_卷积神经网络为什么能称霸计算机视觉领域?...
- [MIPS汇编语言]InsertionSort插入排序
- javac编译出现“找不到符号”和软件包不存在的解决
- php 迭代器迭代中文时重复,3种方式解决iterator迭代器并发修改异常
- linux cookie 地址,SYN Cookie原理及其在Linux内核中的实现
- 输入特定字符和只能输入数字。
- Spring中使用集成MongoDB Client启动时报错:rc: 48
- C++——STL库中各算法以及其主要运用简介
- 驱动精灵等软件卸载后剩余文件的删除
- 加密所有事物,将数据安全存储在任何地方
- 单独的html怎么实现微信分享,html静态页面实现微信分享思路
- 【单片机原理及其应用】第五章定时器的介绍和习题分析
- python 矩阵求逆