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 %PRODUCTNAME Python modules documentation can be obtained from the terminal.
+
- From a full-featured %PRODUCTNAME installed package, use either Basic or Python:
+
+
+
Using the Terminal
+ From a %PRODUCTNAME copy included in a GNU/Linux platform, use the terminal as shown:
+ whereis or type terminal commands help locate Python interactive console:
+ user@computer:~$ type -p python3 /usr/bin/python3 user@computer:~$ /usr/bin/python3 Python 3.7.5 (default, Nov 20 2019, 09:21:52) [GCC 9.2.1 20191008] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import uno >>> dir(uno) ['Any', 'Bool', 'ByteSequence', 'Char', 'Enum', 'PY2', 'Type', '_ConstantGroup', '__builtin__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_import', '_component_context', '_impl_getConstantGroupByName', '_uno_extract_printable_stacktrace', '_uno_import', '_uno_struct__eq__', '_uno_struct__getattr__', '_uno_struct__init__', '_uno_struct__ne__', '_uno_struct__repr__', '_uno_struct__setattr__', '_uno_struct__str__', 'absolutize', 'createUnoStruct', 'fileUrlToSystemPath', 'generateUuid', 'getClass', 'getComponentContext', 'getConstantByName', 'getCurrentContext', 'getTypeByName', 'invoke', 'isInterface', 'os', 'pyuno', 'setCurrentContext', 'six_string_types', 'socket', 'sys', 'systemPathToFileUrl', 'traceback', 'warnings'] >>> exit() user@computer:~$
+
+
+
+ From a full-featured %PRODUCTNAME installed package, a Basic or Python script locates the embedded copy of Python console.
Using a Basic macro
+ This routine resorts to Plaftform class module in order to distinguish the actual operating system.Sub interpreter_console
- Const UNIX = 4
+ Set opsys = New Platform ps = CreateUnoService("com.sun.star.util.PathSettings") install_path = ConvertFromURL(ps.Module)
- cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")
- Shell(cmd + install_path + GetPathSeparator() + "python" )
+ If opsys.isMacOSX Then
+ cmd = "/System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal "
+ pgm_path = Array( install_path,"..","Resources","python" )
+ ElseIf opsys.isLinux Then
+ cmd = "x-terminal-emulator -e "
+ pgm_path = Array(install_path,"python")
+ ElseIf opsys.isWindows Then
+ cmd = ""
+ pgm_path = Array("python")
+ EndIf
+ python_interpreter = Join( pgm_path, GetPathSeparator() )
+ Shell(cmd + python_interpreter)End Sub
@@ -58,25 +79,16 @@
Python Interactive Console
-
-
-
Using the Terminal
- From a %PRODUCTNAME copy included in a GNU/Linux platform, use the terminal as shown:
- whereis or type terminal commands help locate Python interactive console:
- user@computer:~$ type -p python3 /usr/bin/python3 user@computer:~$ /usr/bin/python3 Python 3.7.5 (default, Nov 20 2019, 09:21:52) [GCC 9.2.1 20191008] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import uno >>> dir(uno) ['Any', 'Bool', 'ByteSequence', 'Char', 'Enum', 'PY2', 'Type', '_ConstantGroup', '__builtin__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_import', '_component_context', '_impl_getConstantGroupByName', '_uno_extract_printable_stacktrace', '_uno_import', '_uno_struct__eq__', '_uno_struct__getattr__', '_uno_struct__init__', '_uno_struct__ne__', '_uno_struct__repr__', '_uno_struct__setattr__', '_uno_struct__str__', 'absolutize', 'createUnoStruct', 'fileUrlToSystemPath', 'generateUuid', 'getClass', 'getComponentContext', 'getConstantByName', 'getCurrentContext', 'getTypeByName', 'invoke', 'isInterface', 'os', 'pyuno', 'setCurrentContext', 'six_string_types', 'socket', 'sys', 'systemPathToFileUrl', 'traceback', 'warnings'] >>> exit() user@computer:~$
-
-
-
Alternative console
Use APSO extension console as an alternative:APSO console
+
+ PythonShell function in ScriptForge.Exception service
- PythonShell function in ScriptForge.Exception service
-