diff --git a/Examples/python/fitting/ex01_SampleParametersIntro/SampleParametersIntro.py b/Examples/python/fitting/ex01_SampleParametersIntro/SampleParametersIntro.py
index e859cf29acc846c849f358f7ea924fc0712972a5..bb6b48a7cf4cfaa1a8e66dfb408be421cffebd28 100644
--- a/Examples/python/fitting/ex01_SampleParametersIntro/SampleParametersIntro.py
+++ b/Examples/python/fitting/ex01_SampleParametersIntro/SampleParametersIntro.py
@@ -2,6 +2,7 @@
 Working with sample parameters
 """
 
+from __future__ import print_function
 import matplotlib
 from matplotlib import pyplot as plt
 from bornagain import *
diff --git a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
index 8f3a864986c016b53b35e66025df58c7e3567a6a..f3ffb1bdf4d485479c269c488b5771a252abb02b 100644
--- a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
+++ b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
@@ -5,6 +5,7 @@ Real data contains some "unknown" background and scale factors.
 In the fit we are trying to find cylinder radius and height, scale and background factors.
 """
 
+from __future__ import print_function
 import numpy
 import matplotlib
 import math
@@ -111,11 +112,11 @@ def run_fitting():
     # running fit
     fit_suite.runFit()
 
-    print "Fitting completed."
-    print "chi2:", fit_suite.getMinimizer().getMinValue()
+    print("Fitting completed.")
+    print("chi2:", fit_suite.getMinimizer().getMinValue())
     fitpars = fit_suite.getFitParameters()
     for i in range(0, fitpars.size()):
-        print fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError()
+        print(fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError())
 
 
 if __name__ == '__main__':
diff --git a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
index 21f0f5f7e48f205ccc6085ebe6a5c00f2fe4fa7d..902a795d874b7e884f35219cabb95ed8f46dc4af 100644
--- a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
+++ b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
@@ -2,6 +2,7 @@
 Fitting example: fit with masks
 """
 
+from __future__ import print_function
 from matplotlib import pyplot as plt
 import math
 import random
@@ -132,12 +133,12 @@ def run_fitting():
     # running fit
     fit_suite.runFit()
 
-    print "Fitting completed."
+    print("Fitting completed.")
     fit_suite.printResults()
-    print "chi2:", fit_suite.getChi2()
+    print("chi2:", fit_suite.getChi2())
     fitpars = fit_suite.getFitParameters()
     for i in range(0, fitpars.size()):
-        print fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError()
+        print(fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError())
 
 
 if __name__ == '__main__':
diff --git a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
index 5c4a3cac9807d858d1c14f2ba5816a2c74f10813..30bcfd80c62633d6a529558a25ff27e3b07701b8 100644
--- a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
+++ b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
@@ -7,6 +7,7 @@ After it is done, the second Minuit2 minimizer will continue to find the precise
 found on previous step.
 """
 
+from __future__ import print_function
 import numpy
 import matplotlib
 import math
@@ -110,11 +111,11 @@ def run_fitting():
     # running fit
     fit_suite.runFit()
 
-    print "Fitting completed."
-    print "chi2:", fit_suite.getChi2()
+    print("Fitting completed.")
+    print("chi2:", fit_suite.getChi2())
     fitpars = fit_suite.getFitParameters()
     for i in range(0, fitpars.size()):
-        print fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError()
+        print(fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError())
 
 
 if __name__ == '__main__':
diff --git a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
index e6afe829273bf3b21efd57b393cf807e9265f941..077a3c449f96a73b963ab646407ec6212d8e896d 100644
--- a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
+++ b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
@@ -2,6 +2,7 @@
 Fitting example: demonstrates how to fit two datasets simultaneously.
 """
 
+from __future__ import print_function
 import matplotlib
 from matplotlib import pyplot as plt
 import matplotlib.gridspec as gridspec
@@ -155,11 +156,11 @@ def run_fitting():
     # running fit
     fit_suite.runFit()
 
-    print "Fitting completed."
-    print "chi2:", fit_suite.getChi2()
+    print("Fitting completed.")
+    print("chi2:", fit_suite.getChi2())
     fitpars = fit_suite.getFitParameters()
     for i in range(0, fitpars.size()):
-        print fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError()
+        print(fitpars[i].getName(), fitpars[i].getValue(), fitpars[i].getError())
 
 
 if __name__ == '__main__':
diff --git a/Examples/python/utils/show2d.py b/Examples/python/utils/show2d.py
index 54ee913b4160962a66009af40ce267ea24aa76a7..f2156e1ef41fd2f8dcce6515e625b460967f9a37 100755
--- a/Examples/python/utils/show2d.py
+++ b/Examples/python/utils/show2d.py
@@ -2,6 +2,7 @@
 # Draws two dimensional numpy array using matplotlib
 # Usage: python show2d.py file_name
 
+from __future__ import print_function
 from pylab import *
 from matplotlib.colors import LogNorm
 import argparse
@@ -67,10 +68,10 @@ if __name__ == '__main__':
     print( "loading..." )
     a=np.loadtxt(filename)
     file_no_prefix = os.path.splitext(os.path.basename(filename))[0]
-    print 'Filename: ', file_no_prefix
-    print 'Data shape: ', a.shape
-    print 'Minimum value of data: ', a.flatten().min()
-    print 'Maximum value of data: ', a.flatten().max()
+    print('Filename: ', file_no_prefix)
+    print('Data shape: ', a.shape)
+    print('Minimum value of data: ', a.flatten().min())
+    print('Maximum value of data: ', a.flatten().max())
 
     PlotNumpyArray(a, zmin, zmax)
 
diff --git a/Examples/python/utils/show2d_root.py b/Examples/python/utils/show2d_root.py
index f54337ab038acdc56169d1c4edce89582005970a..cb3d1dbaf05247e5a85046f53e9268c1d8bc44cf 100755
--- a/Examples/python/utils/show2d_root.py
+++ b/Examples/python/utils/show2d_root.py
@@ -2,6 +2,7 @@
 # Draws two dimensional numpy array using ROOT
 # Usage: python show2d.py file_name
 
+from __future__ import print_function
 import argparse
 import os
 import numpy
@@ -56,11 +57,11 @@ if __name__ == '__main__':
     print( "loading..." )
     a=np.loadtxt(filename)
     file_no_prefix = os.path.splitext(os.path.basename(filename))[0]
-    print 'Filename: ', file_no_prefix
-    print 'Data shape: ', a.shape
-    print 'Minimum value of data: ', a.flatten().min()
-    print 'Maximum value of data: ', a.flatten().max()
+    print('Filename: ', file_no_prefix)
+    print('Data shape: ', a.shape)
+    print('Minimum value of data: ', a.flatten().min())
+    print('Maximum value of data: ', a.flatten().max())
 
     PlotNumpyArrayWithROOT(a, zmin, zmax)
 
-        
\ No newline at end of file
+