2009-06-15 15 views
7

Zuhause habe ich unter Linux mit pyUNO experimentiert, um OpenOffice.org mit Python zu steuern. Ich habe Python 2.6 benutzt. Alles scheint gut zu funktionieren.OpenOffice.org Entwicklung mit PyUno für Windows-welche Python?

Jetzt dachte ich, ich würde eines meiner Skripte (run a graphical diff for ODF doc) unter Windows versuchen. Aber wenn ich versuchte, es zu laufen, ich habe:

ImportError: No module named uno 

Nach udk: Python UNO Bridge und OpenOffice.org Running Python on Windows, ich habe die Python laufen interpretter dass mit OpenOffice.org installiert ist.

F1: Ist Python 2.6 für OpenOffice.org verfügbar?

jedoch, dass Interpreter ist Python 2.3, die ein wenig wird alt! und mein Skript verwendet eine Funktion, die nicht von 2.3 unterstützt wird (Modul subprocess).

Q2: Kann die pyUNO-Programmierung unter Windows mit einem pyUNO-Add-On zur Standard-Python-Distribution erfolgen, nicht mit dem Python, das mit OpenOffice.org ausgeliefert wird?

Bei meiner bisherigen Suche konnte ich keinen Hinweis darauf finden, dass ein pyUNO-Modul in der Standard-Python-Windows-Distribution installiert werden kann ... eine Überraschung, denn auf Ubuntu Linux, UNO in Python ist einfach gut unterstützt nur von:

apt-get install python-uno 

ein weiteres Problem dabei ist: was passiert, wenn ich ein Programm machen wollen, die sowohl PyUNO und andere 3rd-Party-Bibliotheken verwendet? Ich kann pyUNO nicht in meiner Python-Installation unter Windows installieren. Bin ich gezwungen, meine anderen Bibliotheken von Drittanbietern irgendwie in das Python-Paket von OpenOffice.org zu installieren? Es macht es schwierig, größere, umfassendere Programme zu erstellen.

Fehle ich etwas, oder stecken wir für diese Situation fest?

Antwort

3

Sie können uno in das System Python auf Win32-Systemen importieren. (Noch nicht Python 3). Tutorial bei http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783 Es ist nicht schwer - importieren Sie drei Umgebungsvariablen und hängen Sie ein Element an Ihren Pythonpfad an.

Für zusätzliche Flexibilität können Sie die COM-UNO-Brücke anstelle der Python-UNO-Brücke verwenden. Die Syntax ist im Allgemeinen ziemlich ähnlich, und Sie können jede Version von Python (einschließlich Python3) verwenden. Info unter http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36608&p=167909

5

Pro openoffice's docs, ist die Python-Version unterstützt Weg - "Bemühungen zum Verschieben von PyUNO nach Python 2.5 fortsetzen", 2.6 nicht einmal auf der Karte. So "steckte mit dieser Situation für jetzt" ist eine faire Bewertung! -)

4

OpenOffice.org 3.1 kommt mit Python 2.6.1. (Soweit ich mich erinnere, war es eine ziemlich kurzfristige Zusammenführung, die einige Leute abschreckte, aber es ist da und es funktioniert.) Jetzt sind die Dokumente das einzige, was hoffnungslos veraltet ist. :)

Verwandte Themen