Wie raus aus der Thonny Umgebung?
Verfasst: Mittwoch 23. April 2025, 15:26
Ich bin jetzt Rentner von Beruf und habe damit viel Zeit, die ich befüllen muss. Da ich vor 2+ Jahrzehnten mal Programmiert habe, dachte ich, ich lerne was Neues und bastle mit eine Datenbank für den ganzen Papierkram, der so angefallen ist und weiter anfällt. Linux ist schon 20 Jahre her, eine neue Sprache wollte ich eh lernen, also python.
Als Editor hieß es im Netz immer: Nimm Thonny, ist klasse für Anfänger. Stimmt, aber jetzt, wo ich mich leidlich freigeschwommen habe und auf was umfangreicheres umsteigen will, habe ich das Problem.
Viele meiner Scripts arbeiten nicht mehr, da ich alle notwendigen Module und Bibliotheken über Thonny in dessen Welt installiert habe. Sicher ist das für versierte Coder kein Problem, ich hänge seit einer Woche dran, Sublime zu erzählen, wo es bereits installierte Sachen findet.
Beispiel, an dem ich zeigen kann, wo es hapert und anhand dessen mir freundlicher Weise jemand erklären kann, wo mein(e) Fehler ist/sind
Für Textrecherche in den Dokumenten hätte ich gerne OCR Einbindung. Tesseract war nach rumsuchen die Wahl. pytesseract war unter Thonny installiert und stieg dort (bis heute ungelöst) damit aus, dass Tesseract nicht gefunden wird. Als ich unter Sublime weiter machen wollte und pytesseract nicht gefunden wurde, dachte ich, mach ichs halt über einen Systemaufruf aus dem Script heraus, soll ja nur ein Bild in durchsuchbaren Text umgewandelt werden und als file gespeichert. Wow, darüber habe ich manches über Bibliotheken gelernt, aber was mich zur Verzweiflung bringt: Tesseract wird wunderbar im Terminal ausgeführrt, macht was es soll, wird mit und ohne Pfadangabe gefunden aber nicht im Scrip.
A) kann ich irgendwo im System einen link hin legen, dass andere Umgebungen das Thonny Verzeichnis auch so finden?
B) Wieso weiß die Shell wo tesseract liegt und keiner hat sonst Ahnung von den Pfad?
Ich befürchte, das hat alles mit der Thonny-Welt zu tun. Sorry für den langen Text, die nächsten werden sicher kürzer
-------------------------
tesseract gefunden!
-------------------------
Traceback (most recent call last):
File "/home/ran/coding/projects/lernen1/import subprocess_sublime_und_idle_erfolgreich.py", line 18, in <module>
subprocess.run('/usr/bin/tesseract /home/ran/coding/projects/lernen1/bild.jpg /home/ran/coding/projects/lernen1/bild')
File "/usr/lib/python3.12/subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/tesseract /home/ran/coding/projects/lernen1/bild.jpg /home/ran/coding/projects/lernen1/bild'
[Finished in 193ms with exit code 1]
[cmd: ['python3', '-u', '/home/ran/coding/projects/lernen1/import subprocess_sublime_und_idle_erfolgreich.py']]
[dir: /home/ran/coding/projects/lernen1]
[path: /home/ran/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/gfie-4.3]
Als Editor hieß es im Netz immer: Nimm Thonny, ist klasse für Anfänger. Stimmt, aber jetzt, wo ich mich leidlich freigeschwommen habe und auf was umfangreicheres umsteigen will, habe ich das Problem.
Viele meiner Scripts arbeiten nicht mehr, da ich alle notwendigen Module und Bibliotheken über Thonny in dessen Welt installiert habe. Sicher ist das für versierte Coder kein Problem, ich hänge seit einer Woche dran, Sublime zu erzählen, wo es bereits installierte Sachen findet.
Beispiel, an dem ich zeigen kann, wo es hapert und anhand dessen mir freundlicher Weise jemand erklären kann, wo mein(e) Fehler ist/sind
Für Textrecherche in den Dokumenten hätte ich gerne OCR Einbindung. Tesseract war nach rumsuchen die Wahl. pytesseract war unter Thonny installiert und stieg dort (bis heute ungelöst) damit aus, dass Tesseract nicht gefunden wird. Als ich unter Sublime weiter machen wollte und pytesseract nicht gefunden wurde, dachte ich, mach ichs halt über einen Systemaufruf aus dem Script heraus, soll ja nur ein Bild in durchsuchbaren Text umgewandelt werden und als file gespeichert. Wow, darüber habe ich manches über Bibliotheken gelernt, aber was mich zur Verzweiflung bringt: Tesseract wird wunderbar im Terminal ausgeführrt, macht was es soll, wird mit und ohne Pfadangabe gefunden aber nicht im Scrip.
A) kann ich irgendwo im System einen link hin legen, dass andere Umgebungen das Thonny Verzeichnis auch so finden?
B) Wieso weiß die Shell wo tesseract liegt und keiner hat sonst Ahnung von den Pfad?
Ich befürchte, das hat alles mit der Thonny-Welt zu tun. Sorry für den langen Text, die nächsten werden sicher kürzer
Code: Alles auswählen
import sys
sys.path.insert(0, '/home/ran/.var/app/org.thonny.Thonny/data/python/lib/python3.12/site-packages/')
sys.path.insert(0, '/usr/bin/')
# Diese Verrenkung, weil pytesseract sonst nicht gefunden wird, tesseract liegt in /usr/bin
import pytesseract
import os
import subprocess
if os.system('tesseract --version') == 0:
print("-------------------------")
print(" tesseract gefunden! ")
print("-------------------------")
else:
print("tesseract nicht gefunden.")
print("-------------------------")
'''
bis hier läuft alles wie gewünscht,
tesseract wird als gefunden angezeigt aber dann
'''
subprocess.run('/usr/bin/tesseract /home/ran/coding/projects/lernen1/bild.jpg /home/ran/coding/projects/lernen1/bild')
tesseract gefunden!
-------------------------
Traceback (most recent call last):
File "/home/ran/coding/projects/lernen1/import subprocess_sublime_und_idle_erfolgreich.py", line 18, in <module>
subprocess.run('/usr/bin/tesseract /home/ran/coding/projects/lernen1/bild.jpg /home/ran/coding/projects/lernen1/bild')
File "/usr/lib/python3.12/subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/tesseract /home/ran/coding/projects/lernen1/bild.jpg /home/ran/coding/projects/lernen1/bild'
[Finished in 193ms with exit code 1]
[cmd: ['python3', '-u', '/home/ran/coding/projects/lernen1/import subprocess_sublime_und_idle_erfolgreich.py']]
[dir: /home/ran/coding/projects/lernen1]
[path: /home/ran/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/gfie-4.3]