[geloest] Mac und Python: gensuitemodule klappt nicht

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
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Hallo!

Ich versuche gerade aus Python am Mac heraus ein Applescript-faehiges Mac-Programm anzusprechen. Dafuer gibt es in der Macdistribution ein mitgeliefertes Modul namens gensuitemodule (http://docs.python.org/mac/module-gensuitemodule.html), das aus dem Applescript-"Dictionary" des Programms eine Art Wrapper-Package oder sowas machen soll, um das Programm eben aus Python heraus ueber Applescript ansteuern zu koennen.

Wenn ich mich aber an die mitgelieferte Doku halte, die als Summary folgendes stehen hat:

1. Run gensuitemodule.
2. Select the application (or OSAX) for which you would like a Python interface.
3. Select the package folder where the interface modules should be stored.
4. Specify the folder Python:Mac:Lib:lib-scriptpackages:StdSuites to import the standard suites (or _builtinSuites if you are generating StdSuites itself).
5. Save the generated suites (use cancel to skip a suite).

dann bekomme ich nach Schritt 2, also Auswaehlen des Executables des Programmes immer nur einen Error zurueckgeliefert:

Code: Alles auswählen

applesingle.Error: Unknown AppleSingle magic number 0xcafebabe
damit kann ich nun leider ueberhaupt gar nix anfangen. Gibt es hier irgendjemanden der Python auf dem Mac nutzt und mir da weiterhelfen koennte? Das ueberfordert mich ein wenig.


Alternativ haette ich noch folgende Frage:
es gibt wohl ein anderes Modul, das nen ganz anderen Ansatz geht: http://appscript.sourceforge.net/py-app ... index.html

das sieht aber irgendwie nur eine Installation per "easy_install" vor. Das installiert dann aber ja lokal auf meinem Rechner, oder? Ich braeuchte das aber wenn dann in einem bestimmten Netzwerkordner installiert, der per PYTHONPATH-Umgebungsvariable auf allen Rechnern in nem Netzwerk zur Verfuegung steht und ich so nicht alles auf jedem Rechner einzeln installieren muss. (Wie) kann ich denn den easy_install umbiegen damit da ein Package am gewuenschten Ort entsteht? Oder wie kann ich das evtl. anders installieren damit es eben nicht lokal sondern in diesem zentralen Ordner liegt?

Danke und Gruss, Shakebox
Zuletzt geändert von shakebox am Mittwoch 7. Mai 2008, 13:54, insgesamt 1-mal geändert.
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

ok, hab was entdeckt. Anscheinend ist das gensuitemodule vor allem fuer das alte, klassische Mac OS und nicht fuer OS X geeignet. Denn in der Doku steht ganz unten:
Under Mac OS X, the above still works, but with some new difficulties. The application package structure can hide the ‘AETE’ or ‘AEUT’ resource from gensuitemodule, so that, for example, it cannot generate an OSA interface to iTunes. Script Editor gets at the dictionary of such programs using a ‘Get AETE’ AppleEvent, if someone wants to donate code to use the same method for gensuitemodule: by all means!

One alternative is available through the Unix command line version of python. Apple has provided the osacompile and osascript tools, which can be used to compile and execute scripts written in OSA languages. See the man pages for more details.
Sagt mir jetzt auch nicht viel, aber klingt so als waere es wirklich sinnvoll, auf das appscript-Modul zu setzen (http://appscript.sourceforge.net/py-app ... index.html)

Also bliebe noch die Frage wie ich das eben so installiert bekomme dass es zentral liegt und nicht ueberall neu installiert werden muss.

Danke!
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

danke, hat sich erledigt.

Ein "python setup.py install" im appscript-Ordner hat mir nen build-ordner angelegt wo die Module drin waren, die konnte ich rauskopieren und das laeuft jetzt auch zentral.

Danke fuers Zuhoeren :wink:
Antworten