Hallo,
ich habe ein Python-Script für den Raspberry PI geschrieben. Das Script
habe ich auf dem Verzeichnis
1 | home/pi/KopieSoftware/Stellpultsteuerung.main.py
|
liegen. Es gibt noch weitere Dateien, welche dazu gehören. unter anderem
unter dem Verzeichnis
1 | home/pi/KopieSoftware/Stellpultsteuerung/tty
|
mehrere Schriftartdateien zum Anzeigen von Schrift auf einem Display
über die SPI-Schnittstelle.
Wenn ich auf der Konsole (es ist auf dem Raspberry keine Grafik
installiert) in das Verzeichnis
1 | /home/pi/KopieSoftware/Stellpultsteuerung/
|
gehe und dort per
das Script starte dann lauft alles ohne Probleme.
Starte ich das Script mit der Zeile
1 | python3 home/pi/KopieSoftware/Stellpultsteuerung.main.py
|
bekomme ich folgende Meldung:
1 | pi@stellpult:~ $ python3 /home/pi/KopieSoftwareStellpultsteuerung/main.py
|
2 | Exception in thread Thread-1:
|
3 | Traceback (most recent call last):
|
4 | File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
|
5 | self.run()
|
6 | File "/home/pi/KopieSoftwareStellpultsteuerung/kommunikation.py", line 46, in run
|
7 | schrift_klein = ImageFont.truetype('./ttf/FreePixel.ttf', 16)
|
8 | File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 280, in truetype
|
9 | return FreeTypeFont(font, size, index, encoding, layout_engine)
|
10 | File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 145, in __init__
|
11 | layout_engine=layout_engine)
|
12 | OSError: cannot open resource
|
Das Script arbeitet mit mehreren Threads, der Aufruf das Einbinden der
Schriftartendateien erfolgt in der Datei "kommunikation.py" mit den
Zeilen
1 | # ******************** Schriftarten initialisieren ********************
|
2 | schrift_klein = ImageFont.truetype('./ttf/FreePixel.ttf', 16)
|
3 | schrift_gross = ImageFont.truetype('./ttf/FreePixel.ttf', 32)
|
4 | schrift_zahlenwerte = ImageFont.truetype('./ttf/Topaznew.ttf', 64)
|
Woran kann das liegen? Mein Problem damit ist das ich das Script später
beim Starten automatisch über einen Eintrag in der rc.local ausführen
lassen will. Da geht das ganze dann auch schief. Hier sehe ich zwar
keine Fehlermeldung, aber ich vermute es hat die gleiche Ursache.
Ich hatte auch schon versucht die Dateien nicht per relativem sondern
absolutem Link einzubinden. Gleiches Ergebnis.