Calibre 最近停止工作。已尝试卸载并重新安装。
当我打开终端并调用时,$calibre
我收到以下错误消息:
Traceback (most recent call last):
File "/usr/bin/calibre", line 20, in <module>
sys.exit(calibre())
File "/usr/lib/calibre/calibre/gui_launch.py", line 73, in calibre
main(args)
File "/usr/lib/calibre/calibre/gui2/main.py", line 543, in main
listener = create_listener()
File "/usr/lib/calibre/calibre/gui2/main.py", line 514, in create_listener
return Listener(address=gui_socket_address())
File "/usr/lib/calibre/calibre/utils/ipc/server.py", line 110, in __init__
self._listener._unlink.cancel()
AttributeError: 'NoneType' object has no attribute 'cancel'
我是否需要安装 sudo apt install 没有得到的一些依赖项?我尝试通过命令行和软件安装程序/更新程序 GUI 进行安装。
我使用的是 Ubuntu 20.04.1 LTS 版本。我确保我的软件总体上也是最新的。
答案1
不幸的是,目前 20.04 仓库中的 Calibre 版本是 4.99,不适用于 Python 3。要使 4.99 正常工作,你必须自己修补文件,如错误中所示https://bugs.launchpad.net/ubuntu/+source/calibre/+bug/1898904或者您可以从其他存储库下载。无论哪种方式,Canonical 尚未在官方存储库中修补 4.99 以与 20.04 兼容。
另外,引用 Calibre 自己的话:
请不要使用发行版提供的 calibre 包,因为它们通常有缺陷/过时。请改用下面描述的二进制安装。
您可以从以下位置下载https://calibre-ebook.com/download_linux
您也可以从该站点运行命令来安装它(实际上安装起来更容易):
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
我已将上述命令添加到名为的脚本中install_calibre
,以便我可以随时运行它来将我的 Calibre 更新到最新版本。
希望这可以帮助!
答案2
要解决这个问题,没有必要放弃 Calibre 4.99。崩溃的原因记录在错误 #1898904,可以用单行补丁. 要手动应用补丁:
- 打开终端
- 类型:
sudo gedit /usr/lib/calibre/calibre/utils/ipc/server.py
- 在 Gedit 中,转到第 110 行
- 更改行:
self._listener._unlink.cancel()
- 到:
if self._listener._unlink is not None: self._listener._unlink.cancel()
- 保存并关闭 Gedit
这个改变会在 Calibre 更新的时候被覆盖,但是当然这没关系因为这个 bug 已经在 Calibre 的下一个版本中被修复了。
答案3
抱歉打扰了,这可能不是理想的解决方法,但可能是临时解决方案。我在 Ubuntu 20.04 中也遇到了同样的问题,我决定安装 flathub 版本,到目前为止它运行良好。
答案4
https://download.calibre-ebook.com/4.html
转到此站点并下载以前的版本。提取文件并运行 Calibre 文件(没有扩展名),只需双击即可。