Разработка OpenOffice.org с pyUno ​​для Windows - какой Python? - PullRequest
7 голосов
/ 15 июня 2009

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

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

ImportError: No module named uno

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

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

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

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

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

 apt-get install python-uno

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

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

Ответы [ 3 ]

5 голосов
/ 15 июня 2009

За документы openoffice , поддерживаемая версия Python отстает - "усилия по переводу PyUNO на Python 2.5 продолжаются", 2.6 даже нет на карте. Так что "застрял в этой ситуации на данный момент" является справедливой оценкой! -)

4 голосов
/ 15 июня 2009

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

3 голосов
/ 09 декабря 2010

Вы можете импортировать 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

...