piątek, 21 sierpnia 2015

Zdalne debugowanie skryptu Python z Eclipse na Raspberry Pi

Ostatnio chciałem zdalnie przedebugować aplikację na OSMC. Na poniższej stronie jest wiele potrzebnych informacji, ale jednak niestety nie wszystkie. 
http://kodi.wiki/view/HOW-TO:Debug_Python_Scripts_with_Eclipse

Jasno i gładko jest do punktu 3.4.4 tj Copy pysrc in XBMC Python install. Nie jest dokładnie opisane co należało zrobić w przypadku Linuxa. Po chwili kombinowania ściągnąłem na OSMC repozytorium SuperRepo a następnie zainstalowałem PyDev. W moim przypadku zainstalował się on w
/home/osmc/.kodi/addons/script.module.pydevd.

Następnie na malince wykonałem polecenie:
python -c "from distutils.sysconfig import *; print(get_python_lib())"

 które zwróciło mi ściezkę, do której musiałem wgrać pliki z pydev.
Wykonałem polecenia:
cd /usr/lib/python2.7/dist-packages
mkdir pysrc
cp -rvp /home/osmc/.kodi/addons/script.module.pydevd/* /usr/lib/python2.7/dist-packages/pysrc/

Po skopiowaniu plików, w folderze pysrc musiałem utworzyć pusty plik __init__.py - bez tego zdalne debugowanie mi nie działało. Na sam koniec do źródeł programu co chciałem przedebugować dodałem
# Make pydev debugger works for auto reload.
    # Note pydevd module need to be copied in XBMC\system\python\Lib\pysrc
    try:
        import pysrc.pydevd as pydevd # with the addon script.module.pydevd, only use `import pydevd`
 # stdoutToServer and stderrToServer redirect stdout and stderr to eclipse console
        pydevd.settrace('ipSkadChcemyDebugow', stdoutToServer=True, stderrToServer=True)
    except ImportError:
        sys.stderr.write("Error: " +
            "You must add org.python.pydev.debug.pysrc to your PYTHONPATH.")
        sys.exit(1)

wgrałem na malinkę, uruchomiłem program i voila!