Разработка OpenOffice.org с pyUno для Windows — какой Python?
-
13-09-2019 - |
Вопрос
Дома, в Linux, я экспериментировал с pyUNO для управления OpenOffice.org с помощью Python.Я использую Python 2.6.Кажется, все работает хорошо.
Теперь я подумал, что попробую один из своих скриптов (запустить графическую разницу для документа ODF) в Windows.Но когда я попытался запустить его, я получил:
ImportError: No module named uno
В соответствии с удк:Python UNO мост и OpenOffice.org Запуск Python в Windows, мне нужно запустить интерпретатор Python, установленный вместе с OpenOffice.org.
Вопрос 1:Доступен ли Python 2.6 для OpenOffice.org?
Однако этот переводчик Питон 2.3, который уже немного устарел!и мой скрипт использует функцию, не поддерживаемую версией 2.3 (subprocess
модуль).
Вопрос 2:Можно ли программировать 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?Это затрудняет создание более крупных и полнофункциональных программ.
Я что-то упускаю, или мы пока застряли в этой ситуации?
Решение
Вы можете импортировать uno в Python вашей системы в системах Win32.(Пока не Python 3).Учебник на http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783Это несложно — импортируйте три переменные среды и добавьте один элемент в свой путь к Python.
Для дополнительной гибкости вы можете использовать мост 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.(Насколько я помню, это было слияние, сделанное в последнюю минуту, которое вызвало недовольство некоторых людей, но оно существует и работает.) Теперь документация — единственное, что безнадежно устарело.:)