需要在 Ubuntu 上使用 pip 安装 unrardll

需要在 Ubuntu 上使用 pip 安装 unrardll

升级到 Ubuntu 18.04 后,Calibre 在打开 .cbr 文件时出现此错误:

calibre, version 3.21.0
...
    File "/usr/lib/calibre/calibre/utils/unrar.py", line 53, in extract
       from unrardll import extract
ImportError: No module named unrardll

可以,然后呢...

#> sudo pip install unrardll

...

src/unrardll/wrapper.cpp:19:10: fatal error: unrar/dll.hpp: No such file or directory
#include <unrar/dll.hpp>
      ^~~~~~~~~~~~~~~
compilation terminated

唔...

#> dpkg -S unrar/dll.hpp
dpkg-query: no path found matching pattern *unrar/dll.hpp*

如何在 Ubuntu 18.04 上安装 unrardll Python 模块?

答案1

unrar代码、开发文件和库未针对 Ubuntu 打包,因此您需要自行获取并安装它们...

有一个 ”UnRAR 源“下载额外内容“rarlab.com 的页面- 使用下面的这个链接wget

您需要构建并安装该库,然后使用--global-optionwithpip将其指向标题。

请继续关注以下内容:

apt update
apt install -y build-essential python-pip wget
mkdir unrarsrc
cd unrarsrc
wget https://rarlab.com/rar/unrarsrc-5.6.8.tar.gz
tar -xvf unrarsrc-5.6.8.tar.gz
make -C unrar lib
sudo make -C unrar install-lib
sudo pip install --global-option=build_ext --global-option="-I$(pwd)" unrardll
$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import unrardll
>>>

请注意,完成此操作后,UnRAR 库将处于您的控制之下,因此将负责更新它。该unrar实用程序仍将由包管理器提供,因此将正常更新。


有一个 PPA 提供了所需的软件包,但支持的最新版本的 Ubuntu 是“活泼的蝾螈“(13.10),最近一次更新是在大约 5 年前,当时使用 unrar v5.0.14。

https://launchpad.net/~trinitronx/+archive/ubuntu/unrar-nonfree

答案2

先做make lib make install-lib 然后尝试pip install unrar

相关内容