staging.inyokaproject.org

lilycomp.py und Tkinter

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Rhaban

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Hallo,

ich bin vor einigen Monaten von Ubuntu 20.04 auf Ubuntu 22.04 gewechselt und wollte mich wieder mit Lilypond (das läuft) und Lilycomp befassen. Leider meldet sich Lilycomp mit einer Fehlermeldung:

1
python3 lilycomp.py

ergibt

1
2
3
4
Traceback (most recent call last):
  File "/home/rlpclin/Kirchenmusik/Lieder/lilycomp.py", line 40, in <module>
    from Tkinter import *
ModuleNotFoundError: No module named 'Tkinter'

Leider ist es mir nicht gelungen, Tkinter zu installieren. Meine Pythonversion ist Python 3.10.6.

Wenn ich

1
pip install tk

aufrufe, kommt

1
2
3
4
5
Defaulting to user installation because normal site-packages is not writeable
Collecting tk
  Downloading tk-0.1.0-py3-none-any.whl (3.9 kB)
Installing collected packages: tk
Successfully installed tk-0.1.0

Leider verstehe ich das nicht. Einerseits kommt offenbar eine Fehlermeldung ("site-packages is not writeable"), andererseits steht da: "Successfully installed tk-0.1.0".

Wie kann ich bei meinem Python3 Tkinter installieren, damit Lilycomp läuft?

Für alle Hilfe schon jetzt besten Dank.

Rhaban

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Hallo!

Du musst schon die ganze Zeile lesen. „Defaulting to user installation because normal site-packages is not writeable“ heißt so viel wie „Ich installiere das nicht systemweit, da mir die Berechtigungen fehlen, so das es nur für den Benutzer verfügbar ist.“. → pip

Es gibt in Ubuntu das Paket python-tk, welches du nutzen kannst. Deine lokale Version solltest du aber entfernen oder pip in deine Update-Routine einbauen.

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Danke für Deine schnelle Antwort! Du schreibst:

Es gibt in Ubuntu das Paket python-tk, welches du nutzen kannst. Deine lokale Version solltest du aber entfernen oder pip in deine Update-Routine einbauen.

Bitte entschuldige die wahrscheinlich dumme Frage, aber wie mache ich das? Wie entferne ich meine lokale Version? Wie baue ich pip in meine Update-Rotine ein? Wie kann ich das Paket python-tk nutzen?

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

pip erklärt dir wie das funktioniert mit lokalen (De-)Installationen.

APT/apt ist für die Paketverwaltung der systemweiten Pakete zuständig, egal ob Python oder sonstwas. Also kannst du das mit sudo apt install PAKETNAME systemweit installieren.

Wie du etwas in deine Update-Routine einbaust, kann ich dir nicht sagen, da ich diese nicht kenne. Ich mache sowas mit einem Alias oder wenn es komplizierter wird mit einem Script, so das ich immer nur upd eintippen muss, egal auf welchem Rechner ich bin.

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Ich habe jetzt Folgendes versucht: Ich habe als Erstes mit

1
sudo apt install python3-tk

versucht, das Paket python3-tk zu installieren. Das scheint auch geklappt zu haben, oder, richtiger: Das Paket ist schon auf meinem Rechner:

1
2
3
4
5
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
python3-tk ist schon die neueste Version (3.10.6-1~22.04).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.

Dann habe ich

1
python3 lilycomp.py

eingegeben. lilypond.py ist ja — seit ich Ubuntu 22.04 habe — das „Problemprogramm“.

Es kam die folgende Reaktion:

1
2
3
4
Traceback (most recent call last):
  File "/home/rlpclin/lilycomp.py", line 39, in <module>
    from Tkinter import *
ModuleNotFoundError: No module named 'Tkinter'

Warum wurde das Modul Tkinter nicht gefunden, obwohl ich vorher

1
sudo apt install python3-tk

eingegeben hatte? Ich darf doch davon ausgehen, dass "python3-tk" für "Tkinter" steht — oder liege ich da falsch? Wie soll ich jetzt weitermachen?

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Rhaban schrieb:

Warum wurde das Modul Tkinter nicht gefunden…

Weil das Modul tkinter heisst, nicht Tkinter. Also mit kleinem t.

Probier es aus:

me@kubuntu:~$ python3
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 856

Du könntest mal frescobaldi ausprobieren. Sehr mächtiger Lilypond-Editor mit integrierter pdf-Anzeige. So gern ich immer Tk programmiert habe, es ist nun mittlerweile doch ein bisschen aus der Zeit gefallen (leider!!).

Gruss, juribel

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Hallo,

danke, ChickenLipsRfun2eat, für Deinen Rat. Du hast Recht, dass "tkinter" mit kleinem t geschrieben werden muss.

Ich habe nun in der (eigentlich kleinen) Datei lilycomp.ly (524 Zeilen) aus "Tkinter" "tkinter" gemacht und dann wieder

1
python3 lilycomp.ly

aufgerufen. Nun kommt die folgende Fehlermeldung:

Traceback (most recent call last):
  File "/home/rlpclin/Kirchenmusik/Lieder/lilycomp.py", line 41, in <module>
    import tkMessageBox, tkFileDialog
ModuleNotFoundError: No module named 'tkMessageBox'

Leider schreibt er nicht, welcher Modulname der richtige wäre. Ich habe am Prompt

1
python3

aufgerufen und nacheinander

1
2
3
python3 tkmessagebox
python3 tkMessagebox
python3 tkmessageBox

eingegeben; immer kam die Fehlermeldung, dass das jeweilige Modul nicht existiert.

Im Grunde geht es ja nur um die relativ kleine Python-Programm-Datei lilycomp.py, die auf meinem alten Rechner unter Ubuntu 20.04 problemlos funktioniert hatte.

Was kann ich machen, um sie auch unter Ubuntu 22.04 in Gang zu setzen?

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Dann verlink das doch mal: https://lilypond.org/easier-editing.de.html ist die Übersicht. Welches davon nutzt du? Wenn das https://lilycomp.sourceforge.net/ ist, dann kannst du das vergessen. Das basiert auf Python2 („You just need Python 2.x (with Tkinter)“), welches seit 01/2020 EOL ist. Das wird nicht mehr unterstützt. Wird vermutlich auch keiner mehr nutzen, da Python3 seit >10 Jahren da ist.

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Hallo, Juribel,

danke für Deinen Hinweis auf Frescobaldi. Es war kein Problem, das Programm zu laden und Lilypond-Befehle einzugeben. Ich habe aber erst ziemlich lange im Internet umhersuchen müssen, bis ich herauszubekommen habe, dass man mit <Strg>M die Noten auf dem rechten Bildschirm erzeugen kann.

Ich bin Lilycomp gewöhnt, würde mich aber umstellen, wenn sich das Lilycomp-Python-Problem nicht mehr lösen ließe.

Gruß, Rhaban

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Ich habe tatsächlich Lilycomp von der Seite https://lilycomp.sourceforge.net/ herunterkopiert und dabei wohl übersehen, dass dieses Lilycomp noch auf Python 2 basiert.

Jetzt stellt sich mir die Frage: Gibt es irgendwo im Netz eine Version von Lilycomp, die mit Python 3 aufgerufen werden kann? Wenn ja, wie kann ich sie finden?

Sollte es ein Python-3-Lilycomp nicht geben, müsste ich Juribels Rat folgen und mich auf Frescobaldi umstellen.

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Lt. der Seite ist das in der Liste „Weitere, nicht mehr aktiv entwickelte Programme“, also kannst du dir die Suche sparen.

Rhaban

(Themenstarter)

Anmeldungsdatum:
25. Juni 2016

Beiträge: 450

Danke, ChickenLipsRfun2eat, für den (betrüblichen) Hinweis.

Dann bleibe mir nichts Anderes übrig als mich auf Frescobaldi umzustellen.

Vielen Dank für Deine Hilfe!

Rhaban

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 856

Wenn du nach "frescobaldi notensatz" suchst, findest du die Homepage von frescobaldi mit Screenshots und Manuals. Ausserdem Links auf das Wiki hier und auf Wikipedia Und... und... und...

Ich finde, Notensatz geht mit diesem Programm wirklich gut von der Hand, und es sind viele Tools dabei.

Gruss, juribel

Antworten |