Autor Thema: convert-ly  (Gelesen 48381 mal)

juppes

  • Gast
convert-ly
« am: Mittwoch, 4. März 2009, 16:56 »
guten Tag miteinander,

ich hoffe, daß mir hier unter den wenigen Mac-Usern jemand weiterhelfen kann. Ich habe mir von Mutopia einige mit alten LilyPond-Versionen erstellte .ly-Dateien heruntergeladen. Die lassen sich aber mit meiner neuen Version nicht zu einem PDF umwandeln. Ich habe die Dokumentation von LilyPond wegen convert-ly zu Rate gezogen, bin aber leider bislang gescheitert und bekomme nur Fehlermeldungen.
Ich habe, wie LilyPond von mir verlangte, Python 3 installiert. Dann habe ich, wie in der Doku steht, convert-ly in der ersten Zeile geändert.
Ändere ich sie auf "#!/usr/bin/env python", bekomme ich die Auskunft, daß ich nicht die nötigen Rechte besitze.
Ändere ich sie auf "#!/Library/Frameworks/Python.framework/Versions/3.0/Resources" (das ist der Pfad zu Python bei mir; hoffe, ich habe kein Zeichen vergessen), bekomme ich die Meldung, da gebe es keine solche Datei.

Der Auszug aus der Dokumentation, auf den ich mich beziehe, ist dieser hier:

2.1.1 Setup for MacOS X
Using Python scripts on MacOS 10.3 or 10.4
LilyPond binaries for MacOS X do not provide Python, but Python 2.4 or newer is required by
convert-ly. Therefore, if you use MacOS 10.3 or 10.4, you must install a newer Python version
from http://python.org/download/, then edit the first line of convert-ly and lilypond-
book as follows: if the Python binary you just installed is in your PATH , the first line should
be
#!/usr/bin/env python
otherwise it should be
#!/path/to/newly_installed/python


Was ich nicht ganz verstehe (und das ist vielleicht auch meine Fehlerquelle) ist: "if the Python binary you just installed is in your PATH". Was soll das genau heißen? Welcher Pfad ist hier mit "Dein Pfad" gemeint? Das gleiche Verzeichnis wie das von LilyPond? Das liegt natürlich in "Programme" und nicht da, wo Python liegt.

Hat jemand hier schon einmal so etwas gemacht? Erfolgreich?
Wenn ich übrigens LilyPond 2.10.33 anwerfe und "Update Syntax" befehle, springt das convert-ly von dieser Version zwar an, bleibt aber im Prozeß dann stecken - hilft mir also auch nicht.

Danke für jede Hilfestellung, denn natürlich wird man diesen "Handgriff" zur Aktualisierung von älteren Dateien ja immer mal wieder brauchen.


derHindemith

  • Gast
Re: convert-ly
« Antwort #1 am: Mittwoch, 4. März 2009, 18:39 »
erste frage: 10.4 oder 10.5? Ich vermute 10.4, weil 10.5 hat python wo es sein soll, und lilypond es weiss.

Zum Thema nicht genügend Rechte: in Terminal.app kannst du versuchen mit sudo (danach müsst du dein Passwort eingeben) die Datei zu ändern. Es soll klappen.

Zum Thema Pfad: PATH ist etwas besonderes bei UNIX Systeme. Kurze version: Wenn du Python schon mit dem installer von Python installiert hast, dann ist es recht in dem PATH.

Zum Schluss: #!/usr/bin/env python soll reichen.

juppes

  • Gast
Re: convert-ly
« Antwort #2 am: Mittwoch, 4. März 2009, 21:52 »
danke für die schnelle Antwort!
Leider komme ich aber mmer noch nicht weiter. Ich habe in der Tat 10.4.11 und LilyPond 2.12.2.

Die LilyPond-Fehlermeldung bei mir sieht so aus, wenn ich eine ältere .ly-Datei aktualisieren will:

Python 2.4 or newer is required to run this program.
Please upgrade Python from http://python.org/download/, and if you use MacOS X,
please read 'Setup for MacOS X' in Application Usage.

Da ich aber schon Python 3 installiert habe, ist diese Meldung also unzutreffend. Ich habe mir jetzt noch einmal ein frisches LilyPond installiert und die erste Zeile von convert-ly auf "#!/usr/bin/env python" geändert, aber nun kommt trotzdem wieder die Fehlermeldung, die schon oben steht. Offenbar findet LilyPond also Python nicht oder glaubt, ich habe eine alte Version. Es gibt ja in LilyPond selber einen Ordner "Python". Wird der etwa abgesucht?

derHindemith

  • Gast
Re: convert-ly
« Antwort #3 am: Mittwoch, 4. März 2009, 23:14 »
Na, die nächste Frage ist wie hast du Python installiert? Bei mir funktioniert alles einwandfrei. Offentsichtlich ist python nicht in dem PATH. In jede Fall, wenn du weisst wo python installiert wurde, kannst du das anstatt env python in dem convert-ly Datei eintippen.

juppes

  • Gast
Re: convert-ly
« Antwort #4 am: Donnerstag, 5. März 2009, 16:49 »
gute Frage, aber schnell zu beantworten: ich habe den Installer von der Python-Seite heruntergeladen, die sich öffnet, wenn in LilyPond die Meldung kommt, daß man mindestens Python 2.4 braucht, damit convert-ly funktioniert. Den habe ich dann geöffnet (inzwischen habe ich Python 3 wieder deinstalliert und statt dessen 2.6 installiert; das führt aber zu den gleichen Resultaten) und die MacOS X-Installationsroutine ablaufen lassen.

Jetzt liegt Python 2.6 hier auf meinem Rechner: /Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app
Dann gibt es auch noch einen Python 2.6-Ordner im Programme-Ordner, der den Python Launcher enthält und die Entwicklerumgebung IDLE. Ich nehme an, daß ich das alles nicht brauche um convert-ly ans Laufen zu bekommen, oder irre ich mich da?

Muß ich das  dann wörtlich genau so in convert-ly in die erste Zeile schreiben? Also so: #!/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app ??
Oder muß vor /Library noch der Volumename meines Startlaufwerks erscheinen? Wenn nicht alles haarklein so ist, wie es erwartet wird, funktioniert es ja leider nicht, und meine Fehlermeldungen, die ich bekommen habe, sind leider auch nicht sehr vielsagend...

Wenn ich den Pfad so wie oben angegeben eintrage (in convert-ly und lilypond-book) und dann eine .ly-Datei per Compile>Update syntax (sie wurde mit LilyPond 2.10.10 erstellt) auf 2.12.2 aktualisieren will, bekomme ich die Meldung: "An unexpected error has occurred (OSError:[Errno13] Permission denied)" Ich bekomme die Optionen Quit oder Continue angeboten, die aber nur bewirken, daß entweder Lilypond beendet wird oder weiterläuft.

Was tun, sprach Zeus? Muß ich Rechte bei irgendetwas ändern? Aber wo? Blindes Herumprobieren hilft ja nicht unbedingt weiter; kann sogar erst recht Chaos anrichten...

Wie ist das denn bei Dir? Hast Du Python installiert, convert-ly nach Anweisung geändert, und dann hat alles reibungslos geklappt?

Ich hoffe, meine Beschreibungen werfen noch ein wenig neues Licht auf die Sache...


derHindemith

  • Gast
Re: convert-ly
« Antwort #5 am: Donnerstag, 5. März 2009, 17:23 »
Na, python liegt eigentlich etwas tiefer, normalerweise geht es so: Python.app/Contents/MacOS/python (Ich bin mir nicht ganz sicher dass es da ist, aber normalerweise sind Programme so installiert)

Noch eine Frage, in Terminal.app, wenn du 'which python' eintippst, was ist gemeldet? Ich vermute dass das mit dem #!/usr/bin/env python nicht funktioniert hat, und da dass das einfachste Lösung ist, gebe ich noch ein Versuch.

Ich bin, dank die Schwierigkeiten mit lilypond und 10.5 viel mehr erfahren geworden in Sachen kompilieren Programmen vom Quellcode, So ich habe python selber kompiliert und installiert in mein eigene /Users/jamesebailey/bin/ Ordner. übrigens, ich habe nur python 2.6.1.

ding-dong

  • Gast
Re: convert-ly
« Antwort #6 am: Freitag, 6. März 2009, 00:33 »
unter windows xp wird python (2.4) mitgeladen […LilyPond\usr\lib\] und lilypond greift offensichtlich auf diese datei und nicht auf andere Python Versionen, die irgendwo sonst installiert sind! - ich habe andere applikationen installiert, die neuere Python versionen verwenden!

ist das unter mac anders?

juppes

  • Gast
Re: convert-ly
« Antwort #7 am: Freitag, 6. März 2009, 08:51 »
aha, es tut sich etwas! Ich hatte übersehen, daß Python.app ja auch ein Ordner ist, und daß die ausführbare Datei noch tiefer in der Hierarchie steckt!
Ich habe jetzt also convert-ly in der ersten Zeile folgendermaßen geändert:

#!/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python

Und jetzt komme ich zwar immer noch nicht zum Ziel, aber die Fehlermeldung lautet anders, wenn ich die zu aktualisierende .ly-Datei öffne und den Befehl "Compile>Update syntax" gebe:

 'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "/Applications/Notation/LilyPond 2.12.1/LilyPond2.12.2.app/Contents/Resources/bin/convert-ly", line 13, in <module>
    import os
ImportError: No module named os

Sie bezieht sich auf eine Zeile in convert-ly selber. Das bedeutet meiner Meinung nach, daß convert-ly nun Python findet, aber daß wegen eines strukturellen Problems in convert-ly der begonnene Prozeß nicht zu Ende geführt werden kann.
Leider verstehe ich nicht, was in convert-ly der String "import os" bedeutet, da ich noch nie etwas mit Python und Python-Skripten zu tun hatte.

Aber vielleicht kann ja jemand, der darüber etwas weiß, hiermit etwas anfangen?


juppes

  • Gast
Re: convert-ly
« Antwort #8 am: Freitag, 6. März 2009, 08:55 »
unter MacOS wird offenbar kein Python mitgeliefert, so daß es bei Bedarf nachinstalliert werden muß. Das hat, wie man sieht, seine Nachteile, aber auch seine Vorteile, wenn man so will. Man muß aber wohl dann gelegentlich den Programmen, die auf Python zurückgreifen, sagen, wo sie es finden können.

juppes

  • Gast
Re: convert-ly
« Antwort #9 am: Freitag, 6. März 2009, 09:17 »
noch eine Antwort an derHindemith, weil meine erste Antwort nicht auf alles in seinem Beitrag Angesprochene eingegangen ist:
Wenn ich im Terminal eingebe "which python", bekomme ich diese Auskunft:

/usr/bin/python

kann man damit etwas anfangen? Ich leider nicht.
Und dann kam mir noch ein Gedanke: Im Programme-Ordner von mir liegt auch noch ein Ordner "Python 2.6". Der enthält einen PythonLauncher, den ich mal gestartet habe. Nach dem Start erscheint diese Meldung:

File Type bindings

PythonLauncher is not the default launcher for all types of Python Script types
You should fix this with the Finder's "Get Info" command

Klicke ich auf OK, öffnen sich die Preferences vom PythonLauncher, und es werden mir allerlei (mangels eigenen Wissens) unverständliche Optionen angeboten. Ich frage mich, ob der PythonLauncher der Schlüssel zu meinem Problem sein könnte. Sollte ich ihm sagen, daß er convert-ly öffnen soll, wenn es in LilyPond aufgerufen wird?

Ich habe probeweise einmal versucht, über "Get Info" genau dies einzustellen. Das Erbebnis war aber nicht ermutigend, so daß ich es dann lieber nicht gemacht habe: wähle ich nämlich aus: "Öffnen mit>anderem Programm", erscheint der PythonLauncher nicht in der Liste der empfohlenen Programme. Wähle ich "Alle Programme" im Menü aus, kommt die Warnmeldung, daß nicht bekannt sei, ob PythonLauncher ausführbare Unix-Dateien öffnen könne.



derHindemith

  • Gast
Re: convert-ly
« Antwort #10 am: Freitag, 6. März 2009, 09:26 »
Moment mal!!

Es gibt eine ziemlich große Problem hier. Ich habe convert-ly durch die Lilypond.app versucht. Da findet lilypond Python nicht. In Terminal.app geht alles perfekt.

Versuch mal convert-ly von Terminal.app. Ich habe den Eindruck dass es klappen wird.

derHindemith

  • Gast
Re: convert-ly
« Antwort #11 am: Freitag, 6. März 2009, 09:28 »
Dass which python /usr/bin/python ist, heisst das python nicht vorne genug in deinem PATH liegt. Wir können etwas später darüber reden. Dass convert-ly auf kein Fall von lilypond.app nicht funktioniert ist ein etwas größerer Problem. Damit du es jetzt benutzen kannst? Kannst du convert-ly -e myfile.ly in Terminal.app benutzen?

juppes

  • Gast
Re: convert-ly
« Antwort #12 am: Freitag, 6. März 2009, 10:32 »
wenn ich convert-ly -e myfile.ly (myfile durch den Namen der Datei ersetzt, die ich aktualisieren möchte, nehme ich an), bekomme ich zurück:

-bash: convert-ly: command not found

Oder der Inhalt des Terminal-Fensters:

Last login: Fri Mar  6 08:28:12 on ttyp1
Welcome to Darwin!
You have new mail.
de-spiegelkast:~ ich$ convert-ly -e BaltzarT-division-violin-13-division-violin-13.ly
-bash: convert-ly: command not found

muß ich in ein anderes Verzeichnis wechseln? Meine störrische Datei liegt auf dem Desktop. Wechsle ich dorthin, ist das Feedback das gleiche. Muß ich in das Verzeichnis, in dem convert-ly liegt?

Leider arbeite ich ganz selten mit dem Terminal, daher sind meine Kenntnisse nur rudimentär...


etilli33

  • Gast
Re: convert-ly
« Antwort #13 am: Freitag, 6. März 2009, 10:37 »
gerade eine Fehlermeldung dazu auf der Liste:

Zitat von: James Bailey
I just noticed that convert-ly does not work from the lilypond.app 
menu item in osx 10.4. I have python installed. convert-ly works from 
the terminal, but here are the problems with the menu item.

• If I update the convert-ly file to be: env python, lilypond does 
not find python. That's not unreasonable, the GUI versions of most 
command-line applications don't load the path properly. (It's a known 
issue with programs like Emacs.app or Aquamacs.app)
• If I update the convert-ly file to be the exact path to my python 
installation (in this case /Users/jamesebailey/bin/python), lilypond 
finds python, but reports the error:
  'import site' failed; use -v for traceback
Traceback (most recent call last):
   File "/Users/jamesebailey/Applications/LilyPond.app/Contents/
Resources/bin/convert-ly", line 14, in <module>
     import os
ImportError: No module named os

With either modification, running convert-ly from the terminal works 
without problem. Can this be resolved, or should convert-ly simply be 
removed from the menu in 10.4?

Gruss
till

derHindemith

  • Gast
Re: convert-ly
« Antwort #14 am: Freitag, 6. März 2009, 11:04 »
Danke Till, Ich bin james.

juppes, 'schuldigung, meine Fehler. Lilypond ist auch nicht in deinem PATH.
du brauchst (für jetzt, später können wir lilypond zu deinem PATH einfügen)
/Applications/Notation/LilyPond 2.12.1/LilyPond2.12.2.app/Contents/Resources/bin/convert-ly -e myfile.ly

Anders gesagt, du brauchst die kompletten Pfad zu convert-ly, sonst sucht der Rechner nur in dem aktuellen Ordner.