Index: src/sas/sasgui/guiframe/config.py
===================================================================
--- src/sas/sasgui/guiframe/config.py	(revision ea45bfe4e68bda8abf0866aa2c51cfcf4cf63e36)
+++ src/sas/sasgui/guiframe/config.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -150,5 +150,5 @@
         :TODO - Need method doc string
         """
-        print "%g:  %s" % (time.clock(), message)
+        print("%g:  %s" % (time.clock(), message))
 
         if __EVT_DEBUG_2_FILE__:
Index: src/sas/sasgui/guiframe/data_panel.py
===================================================================
--- src/sas/sasgui/guiframe/data_panel.py	(revision 959eb0181ad06828a748f04512f953aad5b31659)
+++ src/sas/sasgui/guiframe/data_panel.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -514,5 +514,5 @@
                 self.parent.save_data2d(data, default_name)
             else:
-                print "unable to save this type of data"
+                print("unable to save this type of data")
 
     def layout_data_list(self):
@@ -1497,5 +1497,5 @@
     except:
         # raise
-        print "error", sys.exc_value
+        print("error", sys.exc_value)
 
     app.MainLoop()
Index: src/sas/sasgui/guiframe/data_processor.py
===================================================================
--- src/sas/sasgui/guiframe/data_processor.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/guiframe/data_processor.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -2035,5 +2035,5 @@
         frame.Show(True)
     except:
-        print sys.exc_value
+        print(sys.exc_value)
 
     app.MainLoop()
Index: src/sas/sasgui/guiframe/dummyapp.py
===================================================================
--- src/sas/sasgui/guiframe/dummyapp.py	(revision 959eb0181ad06828a748f04512f953aad5b31659)
+++ src/sas/sasgui/guiframe/dummyapp.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -32,5 +32,5 @@
         plug_menu.Append(id, '&Do something')
         def _on_do_something(event):
-            print "Do something"
+            print("Do something")
         wx.EVT_MENU(self.parent, id, _on_do_something)
     
Index: src/sas/sasgui/guiframe/gui_style.py
===================================================================
--- src/sas/sasgui/guiframe/gui_style.py	(revision 959eb0181ad06828a748f04512f953aad5b31659)
+++ src/sas/sasgui/guiframe/gui_style.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -79,12 +79,12 @@
 if __name__ == "__main__":
   
-    print GUIFRAME.DEFAULT_STYLE
-    print GUIFRAME.FLOATING_PANEL
-    print GUIFRAME.SINGLE_APPLICATION
+    print(GUIFRAME.DEFAULT_STYLE)
+    print(GUIFRAME.FLOATING_PANEL)
+    print(GUIFRAME.SINGLE_APPLICATION)
     style = GUIFRAME.MULTIPLE_APPLICATIONS
     style &= GUIFRAME.PLOTTING_ON
-    print style == GUIFRAME.PLOTTING_ON
+    print(style == GUIFRAME.PLOTTING_ON)
     style1 = GUIFRAME.MULTIPLE_APPLICATIONS
     style1 &= (~GUIFRAME.MANAGER_ON)
-    print style1 == GUIFRAME.DEFAULT_STYLE
-    print style1
+    print(style1 == GUIFRAME.DEFAULT_STYLE)
+    print(style1)
Index: src/sas/sasgui/guiframe/proxy.py
===================================================================
--- src/sas/sasgui/guiframe/proxy.py	(revision 463e7ffce130ae386f93cd18b87a1120743e88b5)
+++ src/sas/sasgui/guiframe/proxy.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -157,5 +157,5 @@
     response = c.connect()
     if response is not None:
-        print 50 * '-'
+        print(50 * '-')
         content = json.loads(response.read().strip())
         pprint(content)
Index: src/sas/sasgui/perspectives/calculator/detector_editor.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/detector_editor.py	(revision 959eb0181ad06828a748f04512f953aad5b31659)
+++ src/sas/sasgui/perspectives/calculator/detector_editor.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -34,5 +34,5 @@
             self.set_values()
         except:
-            print "error", sys.exc_value
+            print("error", sys.exc_value)
 
     def _define_structure(self):
Index: src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -1998,5 +1998,5 @@
             self.panel.set_volume_ctl_val(str(val))
         except:
-            print "self.panel is not initialized yet"
+            print("self.panel is not initialized yet")
 
     def set_omfpanel_default_shap(self, shape):
Index: src/sas/sasgui/perspectives/calculator/image_viewer.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/image_viewer.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/calculator/image_viewer.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -78,5 +78,5 @@
                 wx.PostEvent(parent, StatusEvent(status=err_msg, info="error"))
             else:
-                print err_msg
+                print(err_msg)
 
     def choose_data_file(self, location=None):
@@ -301,5 +301,5 @@
                                                     info="error"))
             else:
-                print err_msg
+                print(err_msg)
         return flag
 
@@ -332,5 +332,5 @@
                                                     info="error"))
             else:
-                print err_msg
+                print(err_msg)
         return flag
 
@@ -361,5 +361,5 @@
                                                     info="error"))
             else:
-                print err_msg
+                print(err_msg)
 
         self.OnClose(event)
Index: src/sas/sasgui/perspectives/calculator/model_editor.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/model_editor.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/calculator/model_editor.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -871,5 +871,5 @@
         # Put the cursor at appropriate position
         length = len(label)
-        print length
+        print(length)
         if label[length-1] == ')':
             length -= 1
Index: src/sas/sasgui/perspectives/fitting/basepage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/basepage.py	(revision 463e7ffce130ae386f93cd18b87a1120743e88b5)
+++ src/sas/sasgui/perspectives/fitting/basepage.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -657,8 +657,8 @@
         # It seems MAC needs wxCallAfter
         if event.GetId() == GUIFRAME_ID.COPYEX_ID:
-            print "copy excel"
+            print("copy excel")
             wx.CallAfter(self.get_copy_excel)
         elif event.GetId() == GUIFRAME_ID.COPYLAT_ID:
-            print "copy latex"
+            print("copy latex")
             wx.CallAfter(self.get_copy_latex)
         else:
@@ -3368,6 +3368,6 @@
         except Exception:
             logger.error(traceback.format_exc())
-            print "Error in BasePage._paste_poly_help: %s" % \
-                  sys.exc_info()[1]
+            print("Error in BasePage._paste_poly_help: %s" % \
+                  sys.exc_info()[1])
 
     def _set_disp_cb(self, isarray, item):
@@ -3398,5 +3398,5 @@
             Moveit; This method doesn't belong here
         """
-        print "BasicPage.update_pinhole_smear was called: skipping"
+        print("BasicPage.update_pinhole_smear was called: skipping")
         return
 
@@ -3574,5 +3574,5 @@
         # check model type to show sizer
         if self.model is not None:
-            print "_set_model_sizer_selection: disabled."
+            print("_set_model_sizer_selection: disabled.")
             # self._set_model_sizer_selection(self.model)
 
Index: src/sas/sasgui/perspectives/fitting/fitting.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitting.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/fitting/fitting.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -1253,5 +1253,5 @@
         """
         """
-        print "update_fit result", result
+        print("update_fit result", result)
 
     def _batch_fit_complete(self, result, pars, page_id,
@@ -2046,5 +2046,5 @@
             res = (fn - gn) / en
         except ValueError:
-            print "Unmatch lengths %s, %s, %s" % (len(fn), len(gn), len(en))
+            print("Unmatch lengths %s, %s, %s" % (len(fn), len(gn), len(en)))
             return
 
Index: src/sas/sasgui/perspectives/fitting/models.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/models.py	(revision 463e7ffce130ae386f93cd18b87a1120743e88b5)
+++ src/sas/sasgui/perspectives/fitting/models.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -141,5 +141,5 @@
         type, value, tb = sys.exc_info()
         if type is not None and issubclass(type, py_compile.PyCompileError):
-            print "Problem with", repr(value)
+            print("Problem with", repr(value))
             raise type, value, tb
         return 1
Index: src/sas/sasgui/perspectives/pr/pr.py
===================================================================
--- src/sas/sasgui/perspectives/pr/pr.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/pr/pr.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -230,5 +230,5 @@
         out, cov = pr.pr_fit()
         for i in range(len(out)):
-            print "%g +- %g" % (out[i], math.sqrt(cov[i][i]))
+            print("%g +- %g" % (out[i], math.sqrt(cov[i][i])))
 
         # Show input P(r)
@@ -318,5 +318,5 @@
             except:
                 err[i] = 1.0
-                print "Error getting error", value, x[i]
+                print("Error getting error", value, x[i])
 
         new_plot = Data1D(x, y)
Index: src/sas/sasgui/perspectives/simulation/ShapeParameters.py
===================================================================
--- src/sas/sasgui/perspectives/simulation/ShapeParameters.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/perspectives/simulation/ShapeParameters.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -312,5 +312,5 @@
             self.parent.GetSizer().Layout()
         except:
-            print "TODO: move the Layout call of editShape up to the caller"
+            print("TODO: move the Layout call of editShape up to the caller")
 
     def _readCtrlFloat(self, ctrl):
@@ -392,6 +392,6 @@
                     self.current_shape.params[item[0]] = tmp 
         except:
-            print "Could not create"
-            print sys.exc_value
+            print("Could not create")
+            print(sys.exc_value)
                 
     def _onCreate(self, evt):
@@ -485,5 +485,5 @@
         indices = self.shape_listbox.GetSelections()
         if len(indices)>0:
-            print "NOT YET IMPLMENTED"
-            print "renaming", self.shape_listbox.GetString(indices[0])
-                
+            print("NOT YET IMPLMENTED")
+            print("renaming", self.shape_listbox.GetString(indices[0]))
+                
Index: src/sas/sasgui/plottools/PlotPanel.py
===================================================================
--- src/sas/sasgui/plottools/PlotPanel.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/plottools/PlotPanel.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -38,5 +38,5 @@
 def show_tree(obj, d=0):
     """Handy function for displaying a tree of graph objects"""
-    print "%s%s" % ("-"*d, obj.__class__.__name__)
+    print("%s%s" % ("-"*d, obj.__class__.__name__))
     if 'get_children' in dir(obj):
         for a in obj.get_children(): show_tree(a, d + 1)
@@ -2014,5 +2014,5 @@
             self.toolbar.copy_figure(self.canvas)
         except:
-            print "Error in copy Image"
+            print("Error in copy Image")
 
 
Index: src/sas/sasgui/plottools/binder.py
===================================================================
--- src/sas/sasgui/plottools/binder.py	(revision 463e7ffce130ae386f93cd18b87a1120743e88b5)
+++ src/sas/sasgui/plottools/binder.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -63,5 +63,5 @@
             ]
         except:
-            print "bypassing scroll_event: wrong matplotlib version"
+            print("bypassing scroll_event: wrong matplotlib version")
             self._connections = [
                 canvas.mpl_connect('motion_notify_event', self._onMotion),
Index: src/sas/sasgui/plottools/convert_units.py
===================================================================
--- src/sas/sasgui/plottools/convert_units.py	(revision 959eb0181ad06828a748f04512f953aad5b31659)
+++ src/sas/sasgui/plottools/convert_units.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -68,11 +68,11 @@
     unit8 = "m/s^{4}"  #         x^2               (m/s^{4})^{2}
 
-    print "this unit1 %s ,its powerer %s , and value %s" % (unit1, 1, convert_unit(1, unit1))
-    print "this unit2 %s ,its powerer %s , and value %s" % (unit2, 1, convert_unit(1, unit2))
-    print "this unit3 %s ,its powerer %s , and value %s" % (unit3, 2, convert_unit(2, unit3))
-    print "this unit4 %s ,its powerer %s , and value %s" % (unit4, -1, convert_unit(-1, unit4))
-    print "this unit5 %s ,its powerer %s , and value %s" % (unit5, 2, convert_unit(2, unit5))
-    print "this unit6 %s ,its powerer %s , and value %s" % (unit6, 2, convert_unit(2, unit6))
-    print "this unit7 %s ,its powerer %s , and value %s" % (unit7, -1, convert_unit(-1, unit7))
-    print "this unit8 %s ,its powerer %s , and value %s" % (unit8, 2, convert_unit(2, unit8))
-    print "this unit9 %s ,its powerer %s , and value %s" % (unit9, 2, convert_unit(2, unit9))
+    print("this unit1 %s ,its powerer %s , and value %s" % (unit1, 1, convert_unit(1, unit1)))
+    print("this unit2 %s ,its powerer %s , and value %s" % (unit2, 1, convert_unit(1, unit2)))
+    print("this unit3 %s ,its powerer %s , and value %s" % (unit3, 2, convert_unit(2, unit3)))
+    print("this unit4 %s ,its powerer %s , and value %s" % (unit4, -1, convert_unit(-1, unit4)))
+    print("this unit5 %s ,its powerer %s , and value %s" % (unit5, 2, convert_unit(2, unit5)))
+    print("this unit6 %s ,its powerer %s , and value %s" % (unit6, 2, convert_unit(2, unit6)))
+    print("this unit7 %s ,its powerer %s , and value %s" % (unit7, -1, convert_unit(-1, unit7)))
+    print("this unit8 %s ,its powerer %s , and value %s" % (unit8, 2, convert_unit(2, unit8)))
+    print("this unit9 %s ,its powerer %s , and value %s" % (unit9, 2, convert_unit(2, unit9)))
Index: src/sas/sasgui/plottools/fittings.py
===================================================================
--- src/sas/sasgui/plottools/fittings.py	(revision ac07a3acc20dbf79c564bf642aece71a02c2c862)
+++ src/sas/sasgui/plottools/fittings.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -106,4 +106,4 @@
     chisqr, out, cov = sasfit(line, [cstA, cstB], event.x, y, 0)
     # print "Output parameters:", out
-    print "The right answer is [70.0, 1.0]"
-    print chisqr, out, cov
+    print("The right answer is [70.0, 1.0]")
+    print(chisqr, out, cov)
Index: src/sas/sasgui/plottools/plottable_interactor.py
===================================================================
--- src/sas/sasgui/plottools/plottable_interactor.py	(revision 45dffa69cb5935e2da7c77a2f040debb07ceb1c6)
+++ src/sas/sasgui/plottools/plottable_interactor.py	(revision 9c3d784dfd54f5c129d7220da877e5dd6c18f62b)
@@ -156,5 +156,5 @@
 
     def clear(self):
-        print "plottable_interactor.clear()"
+        print("plottable_interactor.clear()")
 
     def _on_click(self, evt):
