Разработка 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. (Насколько я помню, это было слияние в последнюю минуту, которое оттолкнуло некоторых людей, но оно есть, и оно работает.) Теперь документы - единственная вещь, безнадежно устаревшая.:)