diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /helpcontent2/source/text/sbasic/python/python_shell.xhp | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | helpcontent2/source/text/sbasic/python/python_shell.xhp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/helpcontent2/source/text/sbasic/python/python_shell.xhp b/helpcontent2/source/text/sbasic/python/python_shell.xhp new file mode 100644 index 000000000..52cea354a --- /dev/null +++ b/helpcontent2/source/text/sbasic/python/python_shell.xhp @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<helpdocument version="1.0"> + <!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + --> + <meta> + <topic id="python_shell" indexer="include" status="PUBLISH"> + <title id="tit" xml-lang="en-US">Python Interactive Shell</title> + <filename>/text/sbasic/python/python_shell.xhp</filename> + </topic> + </meta> + <body> + <bookmark branch="index" id="N0117"> + <bookmark_value>Python console</bookmark_value> + <bookmark_value>Python Interactive Shell</bookmark_value> + </bookmark> + <section id="pythonshell"> + <h1 id="N0118"><variable id="pythonshell1"><link href="text/sbasic/python/python_shell.xhp" name="python shell">Running Python Interactive Console</link></variable></h1> + </section> + <paragraph role="paragraph" id="N0119">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.</paragraph> + + <note id="par_id851633601202270">From a full-featured %PRODUCTNAME installed package, use either Basic or Python:</note> + <h2 id="N0121">Using a Basic macro</h2> + <bascode> + <paragraph role="bascode" id="N0122" localize="false">Sub interpreter_console</paragraph> + <paragraph role="bascode" id="bas_id731633624333087" localize="false"> Const UNIX = 4</paragraph> + <paragraph role="bascode" id="N0123" localize="false"> ps = CreateUnoService("com.sun.star.util.PathSettings")</paragraph> + <paragraph role="bascode" id="N0124" localize="false"> install_path = ConvertFromURL(ps.Module)</paragraph> + <paragraph role="bascode" id="bas_id461633624179286" localize="false"> cmd = IIF(GetGuiType()=UNIX,"x-terminal-emulator -e ","")</paragraph> + <paragraph role="bascode" id="N0125" localize="false"> Shell(cmd + install_path + GetPathSeparator() + "python" )</paragraph> + <paragraph role="bascode" id="N0126" localize="false">End Sub</paragraph> + </bascode> + + <h2 id="N0127">Using a Python macro</h2> + <pycode> + <paragraph role="pycode" id="N0128" localize="false"># -*- coding: utf-8 -*-</paragraph> + <paragraph role="pycode" id="N0129" localize="false">from __future__ import unicode_literals</paragraph> + <paragraph role="pycode" id="N0130" localize="false"> </paragraph> + <paragraph role="pycode" id="N0131" localize="false">import uno, os, subprocess</paragraph> + <paragraph role="pycode" id="N0132" localize="false"> </paragraph> + <paragraph role="pycode" id="N0133" localize="false">def interpreter_console():</paragraph> + <paragraph role="pycode" id="N0134" localize="false"> ctx = XSCRIPTCONTEXT.getComponentContext()</paragraph> + <paragraph role="pycode" id="N0135" localize="false"> smgr = ctx.getServiceManager()</paragraph> + <paragraph role="pycode" id="N0136" localize="false"> ps = smgr.createInstanceWithContext("com.sun.star.util.PathSettings", ctx)</paragraph> + <paragraph role="pycode" id="N0137" localize="false"> install_path = uno.fileUrlToSystemPath(ps.Module)</paragraph> + <paragraph role="pycode" id="N0138" localize="false"> pgm = install_path + os.sep + "python" # Python shell/console path</paragraph> + <paragraph role="pycode" id="N0139" localize="false"> subprocess.Popen(pgm) # Start Python interactive Shell</paragraph> + <paragraph role="pycode" id="N0140" localize="false"> </paragraph> + </pycode> + <h3 id="N0141">Example output</h3> + <paragraph role="paragraph" id="N0142"> + <image src="media/helpimg/python/python_interactive_console.png" id="N0143"><alt id="N0143">Python Interactive Console</alt></image> + </paragraph> + + <switch select="sys"> + <case select="UNIX"> + <h2 id="hd_id381633446811095">Using the Terminal</h2> + <note id="par_id801633601715910">From a %PRODUCTNAME copy included in a GNU/Linux platform, use the terminal as shown:</note> + <paragraph role="paragraph" id="par_id531633444780190"><literal>whereis</literal> or <literal>type</literal> terminal commands help locate Python interactive console:</paragraph> + <paragraph role="paragraph" id="par_id871633361808210" localize="false"><br/><input>user@computer:~$ </input><emph>type -p python3</emph><br/><input>/usr/bin/python3</input><br/> <input>user@computer:~$ </input><emph>/usr/bin/python3</emph><br/> <input>Python 3.7.5 (default, Nov 20 2019, 09:21:52)</input><br/><input>[GCC 9.2.1 20191008] on linux</input><br/><input>Type "help", "copyright", "credits" or "license" for more information.</input><br/><input>>>> </input><emph>import uno</emph><br/><input>>>> </input><emph>dir(uno)</emph><br/><input>['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']</input><br/><input>>>> </input><emph>exit()</emph><br/><input>user@computer:~$</input></paragraph> + </case> + </switch> + + <h2 id="hd_id311633513620803">Alternative console</h2> + <paragraph role="paragraph" id="par_id81632760673283">Use <link href="https://extensions.libreoffice.org/extensions/apso-alternative-script-organizer-for-Python" name="APSO extension">APSO extension</link> console as an alternative:</paragraph> + <paragraph role="paragraph" id="N0144"> + <image src="media/helpimg/python/python_shell.png" id="N0144"><alt id="N0144">APSO console</alt></image> + </paragraph> + <section id="relatedtopics"> + <embed href="text/sbasic/python/python_examples.xhp#pythonexamples2"/> + <embed href="text/sbasic/python/main0000.xhp#pythonscriptshelp"/> + <paragraph role="paragraph" id="par_id351633599611244"><link href="text/sbasic/shared/03/sf_exception.xhp?#PythonShell" name="PythonShell method"><literal>PythonShell</literal></link> function in <link href="text/sbasic/shared/03/sf_exception.xhp" name="ScriptForge.Exception service"><literal>ScriptForge.Exception</literal></link> service</paragraph> + + </section> + </body> +</helpdocument>
\ No newline at end of file |