升级到 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-option
withpip
将其指向标题。
请继续关注以下内容:
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