2009-06-15 11 views
7

En casa, en Linux, he experimentado con pyUNO para controlar OpenOffice.org usando Python. He estado usando Python 2.6. Todo parece funcionar bien.Desarrollo de OpenOffice.org con pyUno ​​para Windows, ¿qué Python?

Ahora pensé en probar uno de mis scripts (run a graphical diff for ODF doc) en Windows. Pero cuando traté de correr, lo tengo:

ImportError: No module named uno 

Según udk: Python UNO Bridge y OpenOffice.org Running Python on Windows, tengo que correr el pitón interpretter que se instala con OpenOffice.org.

Q1: ¿Está Python 2.6 disponible para OpenOffice.org?

Sin embargo, ese intérprete es Python 2.3, que se está haciendo un poco viejo! y mi script utiliza una función que no es compatible con 2.3 (módulo subprocess).

Q2: ¿Puede la programación de pyUNO en Windows hacerse con un complemento de pyUNO a la distribución estándar de Python, no al Python que se incluye con OpenOffice.org?

En mi búsqueda hasta el momento, no he podido encontrar ninguna indicación de que haya un módulo de pyUNO disponible para ser instalado en la distribución estándar de Python Windows ... lo cual es una sorpresa porque en Ubuntu Linux, UNO está soportado muy bien en Python simplemente por:

apt-get install python-uno 

otro problema con esto es: ¿y si quiero hacer un programa que utiliza tanto otras bibliotecas 3 ª parte y PyUNO? No puedo instalar pyUNO en mi instalación de Python en Windows, así que ¿estoy obligado a instalar de alguna manera mis otras bibliotecas de terceros en Python incluido de OpenOffice.org? Hace que sea difícil crear programas más grandes y con más funciones.

¿Me estoy perdiendo algo, o estamos estancados en esta situación por ahora?

Respuesta

3

Puede importar uno en la python de su sistema en sistemas Win32. (No Python 3 todavía). Tutorial en http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783 No es difícil: importe tres variables de entorno y agregue un elemento a su ruta de acceso de acceso directo.

Para una mayor flexibilidad, puede utilizar el puente COM-UNO en lugar del puente Python-UNO. La sintaxis es generalmente bastante similar, y puede usar cualquier versión de Python (incluido Python3). Información en http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36608&p=167909

5

Por openoffice's docs, la versión de Python compatible es WAY behind - "Los esfuerzos para mover PyUNO a Python 2.5 continúan", 2.6 ni siquiera en el mapa. Así que "atascado en esta situación por ahora" es una evaluación justa! -)

4

OpenOffice.org 3.1 viene con Python 2.6.1. (Según recuerdo, fue una fusión bastante de último minuto lo que marcó a algunas personas, pero está ahí y funciona.) Ahora los documentos son lo único irremediablemente desactualizados. :)

Cuestiones relacionadas