helgeerbe / picframe

Picture frame viewer for raspi, controlled via mqtt and automatticly integrated as mqtt device in homeassistant.
MIT License
110 stars 32 forks source link

PictureFrame.py kompiliert mit pyinstaller. Executable file liefert Error #310

Closed Imre-maker closed 1 year ago

Imre-maker commented 1 year ago

Leider beim starten des ausführbaren PictureFrame objektes bekomme ich Fehler: WARNING:pi3d.Display:create Display with (...use_glx=True) for transparent background on x11 window. libGLX needs to be available Traceback (most recent call last): File "pi3d/Shader.py", line 192, in _load_shader File "pkg_resources/init.py", line 1167, in resource_string File "pkg_resources/init.py", line 1412, in get_resource_string File "pkg_resources/init.py", line 1579, in _get File "PyInstaller/loader/pyimod02_importers.py", line 344, in get_data FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEI4GYMew/pi3d/shaders/std_head_vs.inc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "PictureFrame_2MI_My.py", line 1194, in File "pi3d/Shader.py", line 149, in create File "pi3d/Shader.py", line 110, in init File "pi3d/Shader.py", line 97, in make_shader File "pi3d/Shader.py", line 199, in _load_shader File "pi3d/Shader.py", line 195, in _load_shader FileNotFoundError: [Errno 2] No such file or directory: 'std_head_vs.inc' [6566] Failed to execute script 'PictureFrame_2MI_My' due to unhandled exception!

Ich wäre unendlich dankbar wenn jemand mir helfen könnte

helgeerbe commented 1 year ago

@Imre-maker Kann es sein, dass du im falschen Repository bist? Du versuchst PictureFrame aus dem Demo Repository zu starten (https://github.com/pi3d/pi3d_demos).

Bei picframe hier handelt es sich um eine komplett neu geschriebenen Anwendung, welche die pi3d Bibliothek benutzt.

Imre-maker commented 1 year ago

Auf mein Raspi4 in /home/pi/pi3d_demos habe lediglich außer paar Beispiele Konstanten die z.B für die pi3d.Shader(Konst) notwendig ist. Die PictureFrame.py ist anderswo. Das pi3d Modul ist natürlich in /home/usr/local/lib/pythpn3.7/dist-packages/ vorhanden. Und eigentlich der pyinstaller meldet keine fehlende Module. Am liebsten würde ich py source und Screenshots über was wo ist mitteilen. Das PictureFrame.py funktioniert auch einwandfrei in spyder3 im Terminal (python3 PictureFrame.py ) und auch in einem ,/RunPictureFrame,sh Shell Skript. Ich bin ratlos Viele Grüße Imre Leider Gottes nur das Ergebnis der pyinstaler

Imre-maker commented 1 year ago

Heureka! Die Lösung war einfach. Beim kompilieren mit pyinstaller sollte ich extra folgendes an die Optionen anhängen: --collect -all pi3d damit alle submodule und attribute... eingebunden werden.