[linux] 远程服务器安装unrar(无root)

对于一般的扩展包,我们一般直接 pip install xxx 即可安装,
但是 unrar 直接安装后,发现并不能通过Python程序实现解压的功能,
并且会提示 Couldn't find path to unrar library...的报错,
这是因为 Python下的 unrar 还依赖了 RAR官方的库

Linux编译安装,生成so文件,并配置环境变量: 

1. 在对应目录下载unrar

cd /usr/local/src/

如果没有权限,则在自己有权限的路径下下载即可 。 

 wget http://www.rarlab.com/rar/unrarsrc-6.0.3.tar.gz

2、解压安装包,进入安装包目录

tar zxvf unrarsrc-6.0.3.tar.gz
cd rar/unrar

 3、编译安装,(如有权限,生成libunrar.so 文件;如无权限,则不生成,下一步)

make lib
make install-lib

如果 make install-lib没有权限,进行下一步。

4、配置环境变量 

vim ~/.bashrc

按i进入编辑模式,复制以下命令。

如果上一步有权限,则:

export UNRAR_LIB_PATH=/usr/lib/libunrar.so

 如果没有权限,则:

export UNRAR_LIB_PATH="/home/.../libunrar.so"

5. 使变量生效 

有权限,使变量生效:

source /etc/profile

没有权限,不能make install-dir, 使变量生效:

source ~/.bashrc

6. 文件解压至指定目录

pip install unrar
from unrar import rarfile
# 压缩文件位置
rarPath = './miao.rar'
RarFile = rarfile.RarFile(rarPath, mode='r')
RarFile.extractall('./miao/') # 解压文件到指定目录(默认当前目录)

你可能感兴趣的:(linux,linux,python)