Programm "gedit" wird von Popen nicht mehr gefunden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Hallo zusammen,

ich habe gerade mein System mit Fedora 34 neu aufgesetzt und PyCharm neu installiert. Soweit hat alles gut geklappt, nur der Befehl, der mir ein "Popup" öffnen soll funktioniert nicht mehr.

Eigentlich soll mit dem Fedoar-Text-Editor "gedit" eine Datei geöffnet werden, in die vorher das Programm einen Log der aktuellen Ausführung geschrieben hat.

Leider wird "gedit" anscheinend nicht gefunden. Wenn ich allerdings "gedit" im Terminal eingebe funktioniert der Befehl.
Vor der Neuinstallation hat das Programm wunderbar funktioniert. Ich steh gerade auf dem Schlauch, wo da das Problem sein könnte, da "gedit" auch in fedora 34 noch vorhanden ist.

Code: Alles auswählen

Traceback (most recent call last):
  File "/home/xxxx/PycharmProjects/xxxx/main.py", line 271, in <module>
    runningfile = subprocess.Popen(['gedit', BENACHRICHTIGUNGSPFAD])
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1706, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'gedit'
Hat hier jemand einen Tipp für mich?

LG!
Benutzeravatar
Dennis89
User
Beiträge: 1121
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

was passiert wenn du das Programm in einem Terminal ausführst?
Ich habe es gerade auf Fedora33 mit 'Thonny' und 'PyCharm' getestet und hatte keine Probleme.

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Das hatte ich geschrieben:
Wenn ich allerdings "gedit" im Terminal eingebe funktioniert der Befehl.
:wink:

Thonny hab ich nicht.
Ich weiß nicht ob es am Editor liegt. Finde das aber eher nicht wahrscheinlich - aber wer weiß...
nezzcarth
User
Beiträge: 1631
Registriert: Samstag 16. April 2011, 12:47

Bei so etwas arbeitet man normalerweise mit absoluten (konfigurierbaren) Pfaden, oder mit '/usr/bin/env <Name des Programms>'. Diesen Pfad kannst du in der Shell mit 'which gedit' oder, wenn das nicht funktioniert, 'command -v gedit' herausfinden. (Eigentlich sollte der Pfad '/usr/bin/gedit' sein.)
Benutzeravatar
Dennis89
User
Beiträge: 1121
Registriert: Freitag 11. Dezember 2020, 15:13

Ich meinte dein Python-Programm in einem Terminal starten mit:
'python3 /pfad/zu/deinem/programm/programm.py'

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Vielen Dank, guter Hinweis - hab das mit which nachvollzogen, dein Pfad hat gepasst., leider hat es nicht geholfen:

Code: Alles auswählen

FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/gedit'
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das liegt wahrscheinlich daran, das PyCharm als Snap oder Flatpack oder sowas installiert ist. Dadurch hat das eine eingeschraenkte Sicht auf das System, und darf nicht alles. Unter anderem auch externe Programme ausfuehren. Du kannst das beeinflussen. Ich habe gerade mal ein paar Minuten gegoogelt, aber noch nichts definitives gefunden. Ist also jetzt deine Hausaufgabe.
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Das hört sich logisch an. Es ist jetzt über Flathub installiert. Vielleicht könnte ich es ja auch wo anders finden? Ich hatte vorher versucht es bei den Fedora-Quellen zu finden. Leider war da nix zu sehen. Falls jemand einen Tipp für die "richtige" Quelle unter Fedora hat, wäre ich um einen Hinweis dankbar. Ich werde jetzt dann zuerst mal nachschauen, wie es denn auf Fedoar 32 bei mir installiert war - kann das noch von der alten Festplatte starten... kann ich aber erst später machen...
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wie gesagt, du kannst auch das flatpack dazu bringen, diese Einschraenkung nicht zu haben. Wuerde ich empfehlen. Du musst ein bisschen suchen.
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Ich werde mal suchen :-)
Gilt das dann für alle flatpack-programme? ich kenne mich da gar nicht aus, aber werd mal sehen was ich finde.
Ich habe jetzt noch ein weiteres Problem entdeckt. Wenn ich das Modul twilio unter PyCharm installiert habe (Option "Install to user's site packages directory (/home/xxx/.local)": an), dann bringt mir die Ausführung des entsprechenden Programms im normalenTerminal auch einen Fehler, dass er dieses Modul nicht kennt, während es in PyCharm vorhanden ist - kann jetzt natürlich auch mit den Berechtigungen zusammen hängen - vielleicht auch nicht.
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nein, das ist dann nur für pycharm.

Und nochmal nein, das liegt an dem impliziten virtualenvs die pycharm macht.
Rotmilan
User
Beiträge: 32
Registriert: Mittwoch 30. Dezember 2020, 21:59
Wohnort: Nordbayern

Also ich hab jetzt beim suchen gesehen, dass man PyCharm auch über Fedy installieren kann. Mit dem Wissen, dass es an der Installation gelegen hat, wollte ich das natürlich mal ausprobieren - und was soll ich sagen, damit waren meine Probleme behoben. :mrgreen:
Thx to all!
And special thx to __deets__ :wink:
nezzcarth
User
Beiträge: 1631
Registriert: Samstag 16. April 2011, 12:47

Wenn es Pakete für die jeweilige Distribution gibt, ist das natürlich der Königsweg. Der Vollständigkeit halber sei aber erwähnt, dass man sich als Notlösung auch einfach den Tar-Ball direkt von JetBrains herunterladen und aus seinem Homeverzeichnis starten kann. PyCharm ist ja ziemlich "Self-contained" (vorausgesetzt, ein JRE ist installiert), kümmert sich selbst um Updates etc. Wenn man es "schön" haben will, legt man sich noch eine .desktop-Datei (z. B. nach dieser Vorlage https://github.com/archlinux/svntogit-c ... rm.desktop) nach '.local/share/applications/' und einen symlink von 'pycharm.sh' nach '~/bin' und dann kann man PyCharm mit diesem User eigentlich problemlos verwenden. Gerade bei Software, die sich eh ein bisschen wie ein Fremdkörper verhält, ist das aus meiner Sicht vertretbar.
Benutzeravatar
noisefloor
User
Beiträge: 3829
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Gilt das dann für alle flatpack-programme? ich kenne mich da gar nicht aus, aber werd mal sehen was ich finde.
Programme, die via Flatpak installiert werden, laufen in einer Sandbox. Die beschränkt grundsätzlich den Zugriff auf des System. Wie stark der Zugriff beschränkt ist (oder eben auch nicht), legt in erster Instanz der fest, der das Flatpak gebaut hat. Man die den Rechte aber ändern, sollte auch in der Flatpak Doku erklärt sein.

Gruß, noisefloor
Antworten