2009-06-15 2 views
7

Дома, в Linux, я экспериментировал с pyUNO для управления OpenOffice.org с помощью Python. Я использовал Python 2.6. Кажется, все работает хорошо.Разработка OpenOffice.org с pyUno ​​для Windows-Python?

Теперь я решил попробовать один из моих сценариев (run a graphical diff for ODF doc) в Windows. Но когда я попытался запустить его, я получил:

ImportError: No module named uno 

Согласно udk: Python UNO Bridge и OpenOffice.org Running Python on Windows, я должен запустить Python interpretter, который установлен с OpenOffice.org.

Q1: Доступен ли Python 2.6 для OpenOffice.org?

Однако этот интерпретатор Python 2.3, который становится немного старым! и мой скрипт использует функцию, не поддерживаемую модулем 2.3 (subprocess).

Q2: Можно ли программировать pyUNO в Windows с добавлением pyUNO к стандартному дистрибутиву Python, а не к Python, который поставляется вместе с OpenOffice.org?

В моих поисках до сих пор я не смог найти никаких указаний на возможность наличия модуля pyUNO для установки в стандартный дистрибутив Windows Python ... что является неожиданностью, поскольку на Ubuntu Linux, UNO поддерживается только штрафом в Python просто:

apt-get install python-uno 

Другая проблема состоит в том: что, если я хочу сделать программу, которая использует как pyUNO и другие 3-библиотеками? Я не могу установить pyUNO в мою установку Python в Windows, поэтому я вынужден каким-то образом установить мои другие сторонние библиотеки в комплект Python для OpenOffice.org? Это затрудняет создание более крупных и полнофункциональных программ.

Я что-то упустил, или мы застряли в этой ситуации на данный момент?

ответ

3

Вы можете импортировать uno в python вашей системы на системах Win32. (Еще не Python 3). Учебное пособие по адресу http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783 Это не сложно - импортируйте три переменные окружения и добавьте один элемент в свой pythonpath.

Для дополнительной гибкости вы можете использовать мост COM-UNO вместо моста Python-UNO. Синтаксис обычно очень похож, и вы можете использовать любую версию Python (включая Python3). Инфо на http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36608&p=167909

5

По версии openoffice's docs версия Python поддерживается WAY позади - «Усилия по перемещению PyUNO на Python 2.5 continue», 2.6 даже на карте. Так что «застрял с такой ситуацией на данный момент» - справедливая оценка! -)

4

OpenOffice.org 3.1 поставляется с Python 2.6.1. (Насколько я помню, это было довольно последнее слияние, которое отбросило некоторых людей, но оно там, и оно работает.) Теперь документы - это единственное, что безнадежно устарело. :)