diff -up hplip-3.18.4/base/utils.py.ui-optional hplip-3.18.4/base/utils.py
--- hplip-3.18.4/base/utils.py.ui-optional	2018-04-25 12:34:16.000000000 +0200
+++ hplip-3.18.4/base/utils.py	2018-04-26 09:27:26.487258888 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
 # -*- coding: utf-8 -*-
 #
 # (c) Copyright 2001-2015 HP Development Company, L.P.
@@ -733,6 +733,13 @@ def checkPyQtImport(): # qt3
         if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'):
             no_qt_message_gtk()
 
+        # hplip-gui sub-package (Fedora)
+        try:
+            import ui
+        except ImportError:
+            log.error("hplip-gui not installed.  GUI not available. Exiting.")
+            return False
+
         log.error("PyQt not installed. GUI not available. Exiting.")
         return False
 
@@ -783,7 +790,8 @@ def checkPyQtImport4():
         import PyQt5
         import ui5
     else:
-        log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again")
+        # hplip-gui sub-package (Fedora) requires python3-qt5
+        log.error("Install the hplip-gui package for graphical support.")
         return False
     return True
 
@@ -2434,6 +2442,7 @@ def checkPyQtImport45():
     except ImportError as e:
         log.debug(e)
 
+    log.error("Install the hplip-gui package for graphical support.")
     raise ImportError("GUI Modules PyQt4 and PyQt5 are not installed")
 
 
@@ -2455,6 +2464,7 @@ def import_dialog(ui_toolkit):
             return  (QApplication, "ui4")
         except ImportError as e:
             log.error(e)
+            log.error("Unable to load Qt support. Is hplip-gui package installed?")
             sys.exit(1)
     elif ui_toolkit == "qt5":
         try:
@@ -2463,9 +2473,7 @@ def import_dialog(ui_toolkit):
             return (QApplication, "ui5")
         except ImportError as e:
             log.error(e)
-            sys.exit(1)
-        else:
-            log.error("Unable to load Qt support. Is it installed?")
+            log.error("Unable to load Qt support. Is hplip-gui package installed?")
             sys.exit(1)
 
 
diff -up hplip-3.18.4/plugin.py.ui-optional hplip-3.18.4/plugin.py
--- hplip-3.18.4/plugin.py.ui-optional	2018-05-11 10:06:02.925579534 +0200
+++ hplip-3.18.4/plugin.py	2018-05-11 10:25:08.576302069 +0200
@@ -252,7 +252,11 @@ if mode == GUI_MODE:
         #     clean_exit(1)
 
         QApplication, ui_package = utils.import_dialog(ui_toolkit)
-        ui = import_module(ui_package + ".plugindialog")
+        try:
+            ui = import_module(ui_package + ".plugindialog")
+        except ModuleNotFoundError:
+            log.error("hplip-gui not installed. GUI not available. Exiting.")
+            clean_exit(1)
         if ui_toolkit == "qt5":
             from PyQt5.QtWidgets import QMessageBox
         elif ui_toolkit == "qt4":
