Hallo,
PyObjC dient ja eigentlich dazu, von Python aus Objective-C/Cocoa zu benutzen. Ich habe jetzt aber den umgekehrten Fall: ich habe eine Anwendung in Objective-C und möchte darin einen Python Interpreter einbetten (da einige Teile der Programmlogik in Python geschrieben sind).
Dies kann ich natürlich mit der Python C-API erreichen (und mache ich im Moment schon). Jetzt bin ich aber auch über die PyObjC-Dokumentation gestolpert und habe gesehen, dass es auch erlaubt auf Python Objekte von Objective-C aus zuzugreifen.
Leider ist die PyObjC Dokumentation nicht gerade ausführlich und ich konnte nichts finden, was darauf hinweist, wie ich einem Objective-C Programm mit PyObjC einen Interpreter einbetten kann (falls das überhaupt möglich ist) und ob das in meinem Fall überhaupt Sinn machen würde.
Wenn ich durch die PyObjC-Quellen suche, dann scheint die einzige Möglichkeit, dass ich mit PyObjC ein Plugin schreibe, dass dann den Interpreter einbettet.
Hat jemand etwas Erfahrung mit PyObjC und kann mir etwas Klarheit verschaffen?
Rainer
PyObjC dient ja eigentlich dazu, von Python aus Objective-C/Cocoa zu benutzen. Ich habe jetzt aber den umgekehrten Fall: ich habe eine Anwendung in Objective-C und möchte darin einen Python Interpreter einbetten (da einige Teile der Programmlogik in Python geschrieben sind).
Dies kann ich natürlich mit der Python C-API erreichen (und mache ich im Moment schon). Jetzt bin ich aber auch über die PyObjC-Dokumentation gestolpert und habe gesehen, dass es auch erlaubt auf Python Objekte von Objective-C aus zuzugreifen.
Leider ist die PyObjC Dokumentation nicht gerade ausführlich und ich konnte nichts finden, was darauf hinweist, wie ich einem Objective-C Programm mit PyObjC einen Interpreter einbetten kann (falls das überhaupt möglich ist) und ob das in meinem Fall überhaupt Sinn machen würde.
Wenn ich durch die PyObjC-Quellen suche, dann scheint die einzige Möglichkeit, dass ich mit PyObjC ein Plugin schreibe, dass dann den Interpreter einbettet.
Hat jemand etwas Erfahrung mit PyObjC und kann mir etwas Klarheit verschaffen?
Rainer
