diff --git a/blender/urdf_to_blender.py b/blender/urdf_to_blender.py
index 178e46870059989215e8103e1545d67543573391..ccf13d376c673228f661bc38cb4934204e57592f 100755
--- a/blender/urdf_to_blender.py
+++ b/blender/urdf_to_blender.py
@@ -196,7 +196,7 @@ def setParent (children, parent):
 
     def __call__ (self, link):
         geometry = link.visual.geometry
-        if self.run.has_key (type(geometry)):
+        if type(geometry) in self.run:
             self.run[type(geometry)](geometry)
             self.setName(link.name)
             if link.visual.material is not None:
diff --git a/pyplugins/gepetto/gui/__init__.py b/pyplugins/gepetto/gui/__init__.py
index 2854c2e441010d67b3645c2220bb0fb6d3756530..fc8ddda4a03ff5f6911d976b04954b074e3a3441 100644
--- a/pyplugins/gepetto/gui/__init__.py
+++ b/pyplugins/gepetto/gui/__init__.py
@@ -1 +1 @@
-from pythonwidget import Plugin
+from .pythonwidget import Plugin
diff --git a/pyplugins/gepetto/gui/pythonwidget.py b/pyplugins/gepetto/gui/pythonwidget.py
index 2ba8f460bb6f5e96ee4f00d4d3e9b6df2ca27bac..4bfb6e2b65d575e7fdc9e028bc2ac114f5ae9fde 100644
--- a/pyplugins/gepetto/gui/pythonwidget.py
+++ b/pyplugins/gepetto/gui/pythonwidget.py
@@ -1,5 +1,8 @@
-from PythonQt import QtGui, Qt
+from __future__ import print_function
+
 from gepetto.corbaserver import Client
+from PythonQt import Qt, QtGui
+
 
 ### This class represents one special tab of the new QDockWidget
 class _NodeCreator (QtGui.QWidget):
@@ -111,9 +114,9 @@ class Plugin(QtGui.QDockWidget):
 
     def selected(self, event):
         #QtGui.QMessageBox.information(self, "Selected object", event.nodeName() + " " + str(event.point(False)))
-        print "name: ", event.nodeName()
+        print("name: ", event.nodeName())
         if event.hasIntersection():
-            print "point LF: ", event.point(True)
-            print "point WF: ", event.point(False)
-            print "normal LF: ", event.normal(True)
-            print "normal WF: ", event.normal(False)
+            print("point LF: ", event.point(True))
+            print("point WF: ", event.point(False))
+            print("normal LF: ", event.normal(True))
+            print("normal WF: ", event.normal(False))
diff --git a/src/gepetto/corbaserver/exporttoblender.py b/src/gepetto/corbaserver/exporttoblender.py
index 84eec3685fc5da99402b3d1397d6da6292f81655..e5c584f089cae4d2594115f95920e81e6f4d2fc9 100644
--- a/src/gepetto/corbaserver/exporttoblender.py
+++ b/src/gepetto/corbaserver/exporttoblender.py
@@ -38,7 +38,7 @@ def exportState(viewer, group, outData):
 		objNames.add(obj)
 	while len(objNames) > 0:
 		obj = objNames.pop()
-		if not outData.has_key(obj):
+		if obj not in outData:
 			outData[obj] = []
 		objFrame = outData[obj]
 		objFrame.append(gui.getNodeGlobalTransform(obj))
@@ -51,9 +51,8 @@ def writeDataToFile(group, outData, filename):
 	outFile = open(filename, "w+")
 	#write number of frames
 	outFile.write('nbFrames='+str(len(outData[outData.keys()[0]]))+'\n')
-	for obj, frames in outData.iteritems():
+	for obj, frames in outData.items():
 		outFile.write('OBJECT='+obj[len(group)+1:]+'\n')
 		for frame in range(0,len(frames)):
 			outFile.write(str(frame)+'='+str(frames[frame]).lstrip("[").rstrip("]")+'\n')
 	outFile.close()
-