Разработка OpenOffice.org с pyUno ​​для Windows - какой Python?

Дома, в 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.

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

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

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

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

 apt-get install python-uno

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

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

3 ответа

Решение

Вы можете импортировать uno в python вашей системы на системах Win32. (Пока не Python3). Учебное пособие по адресу 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

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

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

Другие вопросы по тегам