OK, I tried that (with hook for conveniences' sake):
Still doesn't work.
Code:
[eschwartz@arch ~/git/calibre]$ less .git/hooks/post-checkout
#!/usr/bin/env python2
import os
i = 0
for dirpath, dirnames, filenames in os.walk('.'):
for f in filenames:
if f.endswith('_ui.py'):
compiled_ui = os.path.join(dirpath, f)
print "Removing form '%s'" % compiled_ui
os.remove(compiled_ui)
i+=1
print "Removed %s forms." % i
[eschwartz@arch ~/git/calibre]$ git checkout qt5
Already on 'qt5'
Your branch is up-to-date with 'origin/qt5'.
Removing form './src/calibre/gui2/filename_pattern_ui.py'
Removing form './src/calibre/gui2/shortcuts_ui.py'
Removing form './src/calibre/gui2/device_drivers/configwidget_ui.py'
Removing form './src/calibre/gui2/viewer/config_ui.py'
Removing form './src/calibre/gui2/viewer/bookmarkmanager_ui.py'
Removing form './src/calibre/gui2/viewer/main_ui.py'
Removing form './src/calibre/gui2/convert/metadata_ui.py'
Removing form './src/calibre/gui2/convert/xexp_edit_ui.py'
Removing form './src/calibre/gui2/convert/heuristics_ui.py'
Removing form './src/calibre/gui2/convert/pmlz_output_ui.py'
Removing form './src/calibre/gui2/convert/rtf_input_ui.py'
Removing form './src/calibre/gui2/convert/font_key_ui.py'
Removing form './src/calibre/gui2/convert/structure_detection_ui.py'
Removing form './src/calibre/gui2/convert/regex_builder_ui.py'
Removing form './src/calibre/gui2/convert/txt_input_ui.py'
Removing form './src/calibre/gui2/convert/htmlz_output_ui.py'
Removing form './src/calibre/gui2/convert/fb2_input_ui.py'
Removing form './src/calibre/gui2/convert/search_and_replace_ui.py'
Removing form './src/calibre/gui2/convert/page_setup_ui.py'
Removing form './src/calibre/gui2/convert/pdf_input_ui.py'
Removing form './src/calibre/gui2/convert/txt_output_ui.py'
Removing form './src/calibre/gui2/convert/fb2_output_ui.py'
Removing form './src/calibre/gui2/convert/azw3_output_ui.py'
Removing form './src/calibre/gui2/convert/single_ui.py'
Removing form './src/calibre/gui2/convert/debug_ui.py'
Removing form './src/calibre/gui2/convert/mobi_output_ui.py'
Removing form './src/calibre/gui2/convert/snb_output_ui.py'
Removing form './src/calibre/gui2/convert/docx_input_ui.py'
Removing form './src/calibre/gui2/convert/rb_output_ui.py'
Removing form './src/calibre/gui2/convert/pdb_output_ui.py'
Removing form './src/calibre/gui2/convert/epub_output_ui.py'
Removing form './src/calibre/gui2/convert/toc_ui.py'
Removing form './src/calibre/gui2/convert/lrf_output_ui.py'
Removing form './src/calibre/gui2/convert/xpath_wizard_ui.py'
Removing form './src/calibre/gui2/convert/comic_input_ui.py'
Removing form './src/calibre/gui2/convert/pdf_output_ui.py'
Removing form './src/calibre/gui2/convert/look_and_feel_ui.py'
Removing form './src/calibre/gui2/preferences/search_ui.py'
Removing form './src/calibre/gui2/preferences/conversion_ui.py'
Removing form './src/calibre/gui2/preferences/sending_ui.py'
Removing form './src/calibre/gui2/preferences/saving_ui.py'
Removing form './src/calibre/gui2/preferences/plugboard_ui.py'
Removing form './src/calibre/gui2/preferences/adding_ui.py'
Removing form './src/calibre/gui2/preferences/create_custom_column_ui.py'
Removing form './src/calibre/gui2/preferences/behavior_ui.py'
Removing form './src/calibre/gui2/preferences/columns_ui.py'
Removing form './src/calibre/gui2/preferences/look_feel_ui.py'
Removing form './src/calibre/gui2/preferences/save_template_ui.py'
Removing form './src/calibre/gui2/preferences/metadata_sources_ui.py'
Removing form './src/calibre/gui2/preferences/plugins_ui.py'
Removing form './src/calibre/gui2/preferences/template_functions_ui.py'
Removing form './src/calibre/gui2/preferences/server_ui.py'
Removing form './src/calibre/gui2/preferences/tweaks_ui.py'
Removing form './src/calibre/gui2/preferences/toolbar_ui.py'
Removing form './src/calibre/gui2/preferences/misc_ui.py'
Removing form './src/calibre/gui2/preferences/email_ui.py'
Removing form './src/calibre/gui2/add_wizard/welcome_ui.py'
Removing form './src/calibre/gui2/add_wizard/scan_ui.py'
Removing form './src/calibre/gui2/catalog/catalog_epub_mobi_ui.py'
Removing form './src/calibre/gui2/catalog/catalog_csv_xml_ui.py'
Removing form './src/calibre/gui2/catalog/catalog_bibtex_ui.py'
Removing form './src/calibre/gui2/catalog/catalog_tab_template_ui.py'
Removing form './src/calibre/gui2/store/basic_config_widget_ui.py'
Removing form './src/calibre/gui2/store/web_store_dialog_ui.py'
Removing form './src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py'
Removing form './src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py'
Removing form './src/calibre/gui2/store/stores/mobileread/cache_progress_dialog_ui.py'
Removing form './src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py'
Removing form './src/calibre/gui2/store/config/chooser/chooser_widget_ui.py'
Removing form './src/calibre/gui2/store/config/search/search_widget_ui.py'
Removing form './src/calibre/gui2/store/search/search_ui.py'
Removing form './src/calibre/gui2/store/search/adv_search_builder_ui.py'
Removing form './src/calibre/gui2/lrf_renderer/config_ui.py'
Removing form './src/calibre/gui2/lrf_renderer/main_ui.py'
Removing form './src/calibre/gui2/wizard/device_ui.py'
Removing form './src/calibre/gui2/wizard/kindle_ui.py'
Removing form './src/calibre/gui2/wizard/library_ui.py'
Removing form './src/calibre/gui2/wizard/finish_ui.py'
Removing form './src/calibre/gui2/wizard/stanza_ui.py'
Removing form './src/calibre/gui2/wizard/send_email_ui.py'
Removing form './src/calibre/gui2/dialogs/message_box_ui.py'
Removing form './src/calibre/gui2/dialogs/choose_library_ui.py'
Removing form './src/calibre/gui2/dialogs/confirm_delete_ui.py'
Removing form './src/calibre/gui2/dialogs/search_ui.py'
Removing form './src/calibre/gui2/dialogs/choose_format_device_ui.py'
Removing form './src/calibre/gui2/dialogs/smartdevice_ui.py'
Removing form './src/calibre/gui2/dialogs/delete_matching_from_device_ui.py'
Removing form './src/calibre/gui2/dialogs/device_category_editor_ui.py'
Removing form './src/calibre/gui2/dialogs/progress_ui.py'
Removing form './src/calibre/gui2/dialogs/choose_format_ui.py'
Removing form './src/calibre/gui2/dialogs/edit_authors_dialog_ui.py'
Removing form './src/calibre/gui2/dialogs/test_email_ui.py'
Removing form './src/calibre/gui2/dialogs/tag_editor_ui.py'
Removing form './src/calibre/gui2/dialogs/tag_categories_ui.py'
Removing form './src/calibre/gui2/dialogs/job_view_ui.py'
Removing form './src/calibre/gui2/dialogs/comments_dialog_ui.py'
Removing form './src/calibre/gui2/dialogs/match_books_ui.py'
Removing form './src/calibre/gui2/dialogs/add_from_isbn_ui.py'
Removing form './src/calibre/gui2/dialogs/user_profiles_ui.py'
Removing form './src/calibre/gui2/dialogs/password_ui.py'
Removing form './src/calibre/gui2/dialogs/conversion_error_ui.py'
Removing form './src/calibre/gui2/dialogs/saved_search_editor_ui.py'
Removing form './src/calibre/gui2/dialogs/search_item_ui.py'
Removing form './src/calibre/gui2/dialogs/scheduler_ui.py'
Removing form './src/calibre/gui2/dialogs/quickview_ui.py'
Removing form './src/calibre/gui2/dialogs/tag_list_editor_ui.py'
Removing form './src/calibre/gui2/dialogs/drm_error_ui.py'
Removing form './src/calibre/gui2/dialogs/comicconf_ui.py'
Removing form './src/calibre/gui2/dialogs/metadata_bulk_ui.py'
Removing form './src/calibre/gui2/dialogs/template_dialog_ui.py'
Removing form './src/calibre/gui2/dialogs/jobs_ui.py'
Removing form './src/calibre/gui2/dialogs/catalog_ui.py'
Removing form './src/calibre/gui2/dialogs/confirm_delete_location_ui.py'
Removed 113 forms.
[eschwartz@arch ~/git/calibre]$ calibre-debug -g >> /tmp/calibre-debug-$USER.log 2>&1
And the log:
Code:
Starting calibre at Tue Jul 15 09:39:30 EDT 2014.
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/shortcuts.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/filename_pattern.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/device_drivers/configwidget.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/viewer/main.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/viewer/bookmarkmanager.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/viewer/config.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/lrf_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/heuristics.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/regex_builder.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/txt_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/snb_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/look_and_feel.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/single.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/rb_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/pdf_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/pdf_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/page_setup.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/mobi_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/metadata.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/search_and_replace.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/comic_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/fb2_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/debug.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/docx_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/azw3_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/fb2_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/toc.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/xpath_wizard.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/xexp_edit.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/epub_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/pmlz_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/font_key.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/pdb_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/rtf_input.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/htmlz_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/txt_output.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/convert/structure_detection.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/metadata_sources.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/saving.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/server.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/email.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/tweaks.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/columns.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/search.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/adding.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/look_feel.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/sending.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/create_custom_column.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/toolbar.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/plugins.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/conversion.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/plugboard.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/behavior.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/template_functions.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/misc.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/preferences/save_template.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/add_wizard/welcome.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/add_wizard/scan.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/catalog/catalog_bibtex.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/catalog/catalog_tab_template.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/catalog/catalog_csv_xml.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/basic_config_widget.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/web_store_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/stores/mobileread/cache_progress_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/config/chooser/chooser_widget.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/config/search/search_widget.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/search/adv_search_builder.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/store/search/search.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/lrf_renderer/main.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/lrf_renderer/config.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/kindle.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/finish.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/device.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/stanza.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/library.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/wizard/send_email.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/job_view.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/conversion_error.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/choose_format.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/jobs.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/tag_editor.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/choose_library.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/scheduler.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/search.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/match_books.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/choose_format_device.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/template_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/confirm_delete.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/smartdevice.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/metadata_bulk.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/confirm_delete_location.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/progress.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/password.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/user_profiles.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/tag_categories.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/tag_list_editor.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/message_box.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/device_category_editor.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/catalog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/quickview.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/saved_search_editor.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/drm_error.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/comicconf.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/test_email.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/comments_dialog.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/search_item.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.ui
Compiling form /home/eschwartz/git/calibre/src/calibre/gui2/dialogs/add_from_isbn.ui
Compiled 113 forms
calibre 1.201.2* isfrozen: True is64bit: False
Linux-3.14.6-1-ARCH-i686-with-glibc2.0 Linux ('32bit', 'ELF')
('Linux', '3.14.6-1-ARCH', '#1 SMP PREEMPT Sun Jun 8 10:57:49 CEST 2014')
Python 2.7.8
Linux: ('', '', '')
Successfully initialized third party plugins: DeDRM && Kindle Collections && Open With && Quality Check && KindleUnpack - The Plugin && Overdrive Link && Goodreads Sync && Annotations && Modify ePub
Starting up...
Traceback (most recent call last):
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 163, in __init__
ac = self.init_iaction(action)
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 177, in init_iaction
ac = action.load_actual_plugin(self)
File "/home/eschwartz/git/calibre/src/calibre/customize/__init__.py", line 573, in load_actual_plugin
ac = getattr(importlib.import_module(mod), cls)(gui,
File "importlib/__init__.py", line 37, in import_module
File "/home/eschwartz/git/calibre/src/calibre/customize/zipplugin.py", line 179, in load_module
exec compiled in mod.__dict__
File "calibre_plugins.kindle_collections.ui", line 11, in <module>
ImportError: No module named PyQt4.Qt
Traceback (most recent call last):
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 163, in __init__
ac = self.init_iaction(action)
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 177, in init_iaction
ac = action.load_actual_plugin(self)
File "/home/eschwartz/git/calibre/src/calibre/customize/__init__.py", line 573, in load_actual_plugin
ac = getattr(importlib.import_module(mod), cls)(gui,
File "importlib/__init__.py", line 37, in import_module
File "/home/eschwartz/git/calibre/src/calibre/customize/zipplugin.py", line 179, in load_module
exec compiled in mod.__dict__
File "calibre_plugins.kindleunpack_plugin.extraction", line 21, in <module>
ImportError: No module named PyQt4.Qt
Traceback (most recent call last):
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 163, in __init__
ac = self.init_iaction(action)
File "/home/eschwartz/git/calibre/src/calibre/gui2/ui.py", line 177, in init_iaction
ac = action.load_actual_plugin(self)
File "/home/eschwartz/git/calibre/src/calibre/customize/__init__.py", line 573, in load_actual_plugin
ac = getattr(importlib.import_module(mod), cls)(gui,
File "importlib/__init__.py", line 37, in import_module
File "/home/eschwartz/git/calibre/src/calibre/customize/zipplugin.py", line 179, in load_module
exec compiled in mod.__dict__
File "calibre_plugins.goodreads_sync.action", line 12, in <module>
ImportError: No module named PyQt4.Qt
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
Started up in 10.98 seconds with 913 books
Worker Launch took: 0.203143835068
Traceback (most recent call last):
File "site.py", line 48, in main
File "/home/eschwartz/git/calibre/src/calibre/utils/ipc/worker.py", line 189, in main
func, notification = get_func(name)
File "/home/eschwartz/git/calibre/src/calibre/utils/ipc/worker.py", line 144, in get_func
module = importlib.import_module(module)
File "importlib/__init__.py", line 37, in import_module
File "/home/eschwartz/git/calibre/src/calibre/gui2/viewer/main.py", line 15, in <module>
from calibre.gui2.viewer.main_ui import Ui_EbookViewer
File "/home/eschwartz/git/calibre/src/calibre/gui2/viewer/main_ui.py", line 229, in <module>
from QtWebKit.QWebView import QWebView
ImportError: No module named QtWebKit.QWebView