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]))
+                
