Running Python Interactive Console

The Python interactive console, also known as Python interpreter or Python shell, provides programmers with a quick way to execute commands and try out and test code without creating a file. UNO objects introspection as well as LibreOffice Python modules documentation can be obtained from the terminal.


From a full-featured LibreOffice installed package, use either Basic or Python:

Using a Basic macro

        Sub interpreter_console
            Const UNIX = 4
            ps = CreateUnoService("")
            install_path = ConvertFromURL(ps.Module)
            cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")
            Shell(cmd + install_path + GetPathSeparator() + "python" )
        End Sub

Using a Python macro

        # -*- coding: utf-8 -*-
        from __future__ import unicode_literals
        import uno, os, subprocess
        def interpreter_console():
            ctx = XSCRIPTCONTEXT.getComponentContext()
            smgr = ctx.getServiceManager()
            ps = smgr.createInstanceWithContext("", ctx)
            install_path = uno.fileUrlToSystemPath(ps.Module)
            pgm = install_path + os.sep + "python"  # Python shell/console path
            subprocess.Popen(pgm)  # Start Python interactive Shell

Example output

Python Interactive Console

Alternative console

Use APSO extension console as an alternative:

APSO console

Please support us!