Pergunta

Em casa, no Linux, Eu experimentei com pyuno para controlar OpenOffice.org utilizando Python. Estive usando o Python 2.6. Tudo parece funcionar bem.

Agora eu pensei que eu iria tentar um dos meus scripts ( executar um diff gráfica para ODF doc ) no Windows. Mas quando eu tentei executá-lo, eu tenho:

ImportError: No module named uno

De acordo com a UDK: Python UNO Ponte e OpenOffice.org Correndo Python no Windows , eu tenho que executar o Python interpretter que é instalado com o OpenOffice.org

Q1:? Is Python 2.6 disponível para OpenOffice.org

No entanto, esse intérprete é Python 2.3 , que está ficando um pouco velho! e meu script usa um recurso não é suportado pelo 2.3 (módulo subprocess).

Q2: programação pode pyuno no Windows ser feito com um pyuno add-on para a distribuição padrão do Python, não o Python que vem com o OpenOffice.org

?

Em minha busca, até agora, eu não tenho sido capaz de encontrar qualquer indicação de que há um módulo pyuno disponível para ser instalado na distribuição padrão do Python do Windows ... o que é uma surpresa, porque no Ubuntu Linux, UNO é suportada muito bem em Python apenas por:

 apt-get install python-uno

Outro problema com isto é: o que se eu quiser fazer um programa que usa tanto pyuno e outras bibliotecas 3rd party? Não consigo instalar pyuno na minha instalação do Python no Windows, eu também sou forçado a instalar alguma forma minhas outras bibliotecas 3o partido em OpenOffice.org está empacotado Python? Isso torna mais difícil criar programas maiores e mais completo.

Estou faltando alguma coisa, ou estamos preso com esta situação agora?

Foi útil?

Solução

Você pode importar uno em python do seu sistema em sistemas Win32. (Não Python 3 ainda). Tutorial em http: //user.services.openoffice .org / en / forum / viewtopic.php? f = 45 & t = 36370 & p = 166783 Não é difícil -. Importação três variáveis ??de ambiente, e acrescentar um item para o seu PYTHONPATH

Para flexibilidade adicional, você pode usar a ponte COM-UNO em vez da ponte Python-UNO. A sintaxe é geralmente bastante semelhantes, e você pode usar qualquer versão do Python (incluindo Python3). Informações em http: //user.services.openoffice .org / en / forum / viewtopic.php? f = 45 & t = 36608 & p = 167909

Outras dicas

Por do OpenOffice docs , a versão Python suportado está muito atrasada - "Esforços em movimento pyuno para Python 2.5 continuar", 2.6 nem mesmo no mapa. Assim, "preso com esta situação por agora" é uma avaliação justa -!)

OpenOffice.org 3.1 vem com Python 2.6.1. (Pelo que me lembro, foi uma fusão bastante no último minuto que Irritado algumas pessoas, mas está lá e ele funciona.) Agora, os documentos são a única coisa irremediavelmente de fora-date. :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top