Calibreはepubからmobiに変換できません。

Calibreはepubからmobiに変換できません。

Calibreは私のEpubの本をMobiに変換しませんでした。次のエラーにより中断されます。

TypeError: QPixmap(): argument 1 has unexpected type 'ImageView'

完全なエラーメッセージは次のとおりです。

calibre 2.20  isfrozen: False is64bit: True
Linux-3.18.6-1-ARCH-x86_64-with-glibc2.2.5 Linux ('64bit', 'ELF')
('Linux', '3.18.6-1-ARCH', '#1 SMP PREEMPT Sat Feb 7 08:44:05 CET 2015')
Python 2.7.9
Linux: ('', '', '')
Traceback (most recent call last):
  File "/usr/lib/calibre/calibre/gui2/device.py", line 1257, in dispatch_sync_event
    self.sync_to_device(on_card, delete, fmt)
  File "/usr/lib/calibre/calibre/gui2/device.py", line 1531, in sync_to_device
    self.iactions['Convert Books'].auto_convert(auto, on_card, format)
  File "/usr/lib/calibre/calibre/gui2/actions/convert.py", line 76, in auto_convert
    jobs, changed, bad = convert_single_ebook(self.gui, self.gui.library_view.model().db, book_ids, True, format)
  File "/usr/lib/calibre/calibre/gui2/tools.py", line 41, in convert_single_ebook
    d = SingleConfig(parent, db, book_id, None, out_format)
  File "/usr/lib/calibre/calibre/gui2/convert/single.py", line 151, in __init__
    self.setup_pipeline()
  File "/usr/lib/calibre/calibre/gui2/convert/single.py", line 201, in setup_pipeline
    self.mw = widget_factory(MetadataWidget)
  File "/usr/lib/calibre/calibre/gui2/convert/single.py", line 199, in widget_factory
    self.plumber.get_option_help, self.db, self.book_id)
  File "/usr/lib/calibre/calibre/gui2/convert/metadata.py", line 55, in __init__
    Widget.__init__(self, parent, ['prefer_metadata_cover'])
  File "/usr/lib/calibre/calibre/gui2/convert/__init__.py", line 62, in __init__
    self.setupUi(self)
  File "/usr/lib/calibre/calibre/gui2/convert/metadata_ui.py", line 51, in setupUi
    self.cover = ImageView(self.groupBox_4)
  File "/usr/lib/calibre/calibre/gui2/widgets.py", line 298, in __init__
    self._pixmap = QPixmap(self)
TypeError: QPixmap(): argument 1 has unexpected type 'ImageView'

私はArchlinuxとCalibreバージョン2.20を使用しています。

答え1

正式な修正が行われ、非常に簡単です。https://github.com/kovidgoyal/calibre/commit/72d47ba9377d70e786bf3d93b323544188c894bd

私はその違いに基づいて私のシステムで/usr/lib/calibre/calibre/gui2/widgets.pyを編集し、すべてがうまくいきました。

答え2

一時的な回避策は、/usr/lib/calibre/calibre/gui2/widgets.pyの298行を変更してwidgets.py[co]を削除することです。

self._pixmap = QPixmap(self.grab())

ダイアログボックスを開こうとすると、エラーメッセージが表示されますが、メッセージが表示された後にウィンドウが開き、メタデータの編集とeBook変換の両方が機能します。

関連情報