OpenOffice.org udvikling med pyUno ​​for Windows-hvilket Python?

Indlæg af Hanne Mølgaard Plasc

Problem



I Linux har jeg eksperimenteret med pyUNO for at styre OpenOffice.org ved hjælp af Python. Jeg har brugt Python 2.6. Det ser ud til at fungere fint.


Nu tænkte jeg, at jeg ville prøve et af mine scripts (køre en grafisk diff for ODF doc) på Windows. Men da jeg forsøgte at køre det, fik jeg: [4]


ImportError: No module named uno


Ifølge udk: Python UNO Bridge og OpenOffice.org Kører Python på Windows, må jeg køre Python interpretteren, der er installeret med OpenOffice.org. [5] [6]


Q1: Er Python 2.6 tilgængelig for OpenOffice.org?


Men den tolk er Python 2.3 , som bliver lidt gammel! og mit script bruger en funktion, der ikke understøttes af 2.3 (subprocess modul).


Q2: Kan pyUNO programmering på Windows udføres med en pyUNO-tilføjelse til standard Python distributionen, ikke Python, der er bundtet med OpenOffice.org?


I min søgning indtil videre har jeg ikke kunnet finde nogen indikation på, at der er et pyUNO-modul, der kan installeres i standard Python Windows-distributionen ... hvilket er en overraskelse, fordi Ubuntu Linux, UNO understøttes helt fint i Python lige ved:


 apt-get install python-uno


Et andet problem med dette er: hvad hvis jeg vil lave et program der bruger både pyUNO og andre tredjepartsbiblioteker? Jeg kan ikke installere pyUNO i min Python-installation på Windows, så er jeg tvunget til på en eller anden måde at installere mine andre tredjepartsbiblioteker i OpenOffice.orgs bundne Python? Det gør det svært at oprette større, mere komplette programmer.


Mangler jeg noget, eller er vi fast i denne situation for nu?

Bedste reference


Du kan importere uno til systemets python på Win32-systemer. (Ikke Python 3 endnu). Tutorial på http://user.services.openoffice.org/en/forum/viewtopic.php?f=45u0026amp;t=36370u0026amp ; p=166.783
Det er ikke svært - importere tre miljøvariabler, og tilføj et element til din pythonpath. [7]


For yderligere fleksibilitet kan du bruge COM-UNO-broen i stedet for Python-UNO-broen. Syntaxen er generelt meget ens, og du kan bruge en hvilken som helst version af Python (herunder Python3). Info på http://user.services.openoffice.org/en/forum/viewtopic.php?f=45u0026amp;t=36608u0026amp;p=167909[8]

Andre referencer 1


Per openoffice s doks, understøttes Python versionen WAY behind - 'Forsøg på at flytte PyUNO til Python 2.5 fortsæt', 2.6 ikke engang på kortet. Så 'fast i denne situation for nu' er en rimelig vurdering! -) [[[9]

Andre referencer 2


OpenOffice.org 3.1 leveres med Python 2.6.1. (Som jeg husker var det en temmelig sidste øjebliks sammenfletning, der krydsede nogle mennesker, men det er der og det virker.) Nu er docs det eneste, der håbløst er forældet. :)