make_view_popups(): Catch import error which can occur if a viewer is
dynamically imported when Pynche is running via askcolor out of a
package.  If the ImportError occurs, try again, prepending the package
name and digging out the module.
diff --git a/Tools/pynche/PyncheWidget.py b/Tools/pynche/PyncheWidget.py
index d8ff8fa..4cddff17 100644
--- a/Tools/pynche/PyncheWidget.py
+++ b/Tools/pynche/PyncheWidget.py
@@ -294,7 +294,13 @@
         for file in os.listdir(dir):
             if file[-9:] == 'Viewer.py':
                 name = file[:-3]
-                module = __import__(name)
+                try:
+                    module = __import__(name)
+                except ImportError:
+                    # Pynche is running from inside a package, so get the
+                    # module using the explicit path.
+                    pkg = __import__('pynche.'+name)
+                    module = getattr(pkg, name)
                 if hasattr(module, 'ADDTOVIEW') and module.ADDTOVIEW:
                     # this is an external viewer
                     v = PopupViewer(module, name, switchboard, root)