e68f28ec9f
and cid#1607910 COPY_INSTEAD_OF_MOVE cid#1607818 COPY_INSTEAD_OF_MOVE cid#1557402 COPY_INSTEAD_OF_MOVE cid#1556530 COPY_INSTEAD_OF_MOVE cid#1557396 COPY_INSTEAD_OF_MOVE cid#1556522 COPY_INSTEAD_OF_MOVE cid#1555628 COPY_INSTEAD_OF_MOVE cid#1554705 COPY_INSTEAD_OF_MOVE Change-Id: Iae3fbf4a04bf3714f416995640b9d70fe204cf73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170321 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> |
||
---|---|---|
.. | ||
demo | ||
doc | ||
inc | ||
qa/pytests | ||
source | ||
zipcore | ||
CustomTarget_python_shell.mk | ||
CustomTarget_pyuno_pythonloader_ini.mk | ||
Executable_python.mk | ||
IwyuFilter_pyuno.yaml | ||
Library_pythonloader.mk | ||
Library_pyuno.mk | ||
Library_pyuno_wrapper.mk | ||
Makefile | ||
Module_pyuno.mk | ||
Package_python_scripts.mk | ||
Package_python_shell.mk | ||
Package_pyuno_pythonloader_ini.mk | ||
PythonTest_pyuno_pytests_insertremovecells.mk | ||
PythonTest_pyuno_pytests_testbz2.mk | ||
PythonTest_pyuno_pytests_testcollections.mk | ||
PythonTest_pyuno_pytests_testofficehelper.mk | ||
PythonTest_pyuno_pytests_testsetuptools.mk | ||
PythonTest_pyuno_pytests_testssl.mk | ||
Rdb_pyuno.mk | ||
README.md |
Python UNO Bindings
UNO bindings for the Python programming language.
To have much joy debugging Python extensions you need to:
- a) edit
pythonloader.py
in your install settingDEBUG=1
at the top - b)
touch pyuno/source/module/pyuno_runtime.cxx
andmake debug=true
inpyuno
Then you'll start to see your exceptions on the console instead of them getting lost at the UNO interface.
Python also comes with a gdb script
libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py
that is copied to instdir
and will be auto-loaded by gdb
;
it provides commands like py-bt
to get a Python-level backtrace,
and py-print
to print Python variables.
Another way to debug Python code is to use pdb
: edit some initialization
function to insert import pdb; pdb.set_trace()
(somewhere so that it is
executed early), then run soffice
from a terminal and a command-line Python
debugger will appear where you can set Python-level breakpoints.