50ccb7e82b
I couldn't find this documented on the Internet though, as the 3.9 and 3.8.2rc documentation didn't mention it as an added item... I'm using Ubuntu 20.04 alpha with python3 --version Python 3.8.2rc1 This fixes pyuno/source/module/pyuno.cxx:1689:1: error: missing initializer for member ‘_typeobject::tp_print’ [-Werror=missing-field-initializers] Change-Id: Idec5720050572b34628267cd94557dabf7edbf3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89247 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> |
||
---|---|---|
.. | ||
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_testcollections.mk | ||
PythonTest_pyuno_pytests_testssl.mk | ||
Rdb_pyuno.mk | ||
README |
UNO bindings for the Python programming language. To have much joy debugging python extensions you need to: a) edit pythonloader.py in your install setting DEBUG=1 at the top b) touch pyuno/source/module/pyuno_runtime.cxx and 'make debug=true' in pyuno 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.