diff --git a/pcbnew/python/kicad_pyshell/__init__.py b/pcbnew/python/kicad_pyshell/__init__.py index e89703ce17..7f476d5941 100644 --- a/pcbnew/python/kicad_pyshell/__init__.py +++ b/pcbnew/python/kicad_pyshell/__init__.py @@ -63,8 +63,12 @@ class PcbnewPyShell(editor.EditorNotebookFrame): intro = 'Py %s' % version.VERSION import imp module = imp.new_module('__main__') - import __builtin__ - module.__dict__['__builtins__'] = __builtin__ + if sys.version_info >= (3,): + import builtins + module.__dict__['__builtins__'] = builtins + else: + import __builtin__ + module.__dict__['__builtins__'] = __builtin__ namespace = module.__dict__.copy() self.config_dir = pcbnew.GetKicadConfigPath() diff --git a/pcbnew/swig/python_scripting.cpp b/pcbnew/swig/python_scripting.cpp index d59f4a5554..440821e247 100644 --- a/pcbnew/swig/python_scripting.cpp +++ b/pcbnew/swig/python_scripting.cpp @@ -338,7 +338,13 @@ wxWindow* CreatePythonShellWindow( wxWindow* parent, const wxString& aFramenameI // executed. Put a reference to the builtins module in it. PyObject* globals = PyDict_New(); +#if PY_MAJOR_VERSION >= 3 + PyObject* builtins = PyImport_ImportModule( "builtins" ); +#else PyObject* builtins = PyImport_ImportModule( "__builtin__" ); +#endif + + wxASSERT( builtins ); PyDict_SetItemString( globals, "__builtins__", builtins ); Py_DECREF( builtins );