Domanda

A casa, su Linux, ho sperimentato con pyUNO per controllare OpenOffice.org utilizzando Python. Sono stato con Python 2.6. Tutto sembra funzionare bene.

Ora ho pensato di provare uno dei miei script ( eseguire un diff grafica per ODF doc ) su Windows. Ma quando ho provato a farlo funzionare, ho ricevuto:

ImportError: No module named uno

UDK: Python UNO Ponte e OpenOffice.org esecuzione Python su Windows , devo correre il Python interpretter che è installato con OpenOffice.org

Q1:? È Python 2.6 disponibile per OpenOffice.org

Tuttavia, che interprete è Python 2.3 , che sta diventando un po 'vecchio! e il mio script utilizza una caratteristica non supportata da 2.3 (modulo subprocess).

Q2: Può programmazione pyUNO su Windows essere fatto con un pyUNO add-on per la distribuzione standard di Python, non il Python che viene fornito in bundle con OpenOffice.org

?

Nella mia ricerca finora, non sono stato in grado di trovare alcuna indicazione che v'è un modulo pyUNO disponibile per essere installato nella distribuzione standard di Python di Windows ... che è una sorpresa perché su Ubuntu Linux, UNO è supportato bene in Python semplicemente:

 apt-get install python-uno

Un altro problema è: che cosa succede se voglio fare un programma che utilizza sia pyUNO e altre librerie 3a parte? Non riesco a installare pyUNO nella mia installazione di Python su Windows, quindi sono costretto a installare in qualche modo le mie altre librerie 3rd party in bundle di OpenOffice.org Python? Lo rende difficile la creazione, più programmi full-optional più grandi.

Mi manca qualcosa, o siamo bloccati con questa situazione per il momento?

È stato utile?

Soluzione

È possibile importare Uno Into Python del sistema su sistemi Win32. (Non Python 3 ancora). Tutorial a http: //user.services.openoffice .org / it / forum / viewtopic.php? f = 45 & t = 36370 & p = 166783 Non è difficile -. Importazione tre variabili d'ambiente, e di aggiunta una voce al tuo PYTHONPATH

Per una maggiore flessibilità, è possibile utilizzare il ponte COM-UNO al posto del ponte di Python-UNO. La sintassi è generalmente abbastanza simile, ed è possibile utilizzare qualsiasi versione di Python (compresi python3). Info a http: //user.services.openoffice .org / it / forum / viewtopic.php? f = 45 & t = 36608 & p = 167909

Altri suggerimenti

di OpenOffice , la versione di Python supportata è in ritardo - "Gli sforzi sul movimento PyUNO per Python 2.5 continua", 2.6 nemmeno sulla mappa. Quindi, "bloccato con questa situazione per ora" è una valutazione equa -!)

OpenOffice.org 3.1 viene fornito con Python 2.6.1. (Se non ricordo male, è stato un piuttosto all'ultimo minuto di unione che spuntato alcune persone fuori, ma è lì e funziona). Ora i documenti sono l'unica cosa irrimediabilmente out-of-date. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top