Найти - Пользователи
Полная версия: Почему нет модуля uno?
Начало » Python для экспертов » Почему нет модуля uno?
1 2 3
Все ники заняты
SUSE 10.2, Python 2.5, OOo 2.0.4.
Вот здесь: http://udk.openoffice.org/python/python-bridge.html читаем, что “Since OpenOffice1.1, PyUNO is included in the default installation.”

Однако, при попытке выполнить инструкцию “import uno”, получаю сообщение “No module named uno”. В чем может быть дело?
bialix
Все ники заняты
SUSE 10.2, Python 2.5, OOo 2.0.4.
Вот здесь: http://udk.openoffice.org/python/python-bridge.html читаем, что “Since OpenOffice1.1, PyUNO is included in the default installation.”

Однако, при попытке выполнить инструкцию “import uno”, получаю сообщение “No module named uno”. В чем может быть дело?
вы пробовали повторить инструкции, описанные на той странице, в секции Hello World?
Все ники заняты
bialix
вы пробовали повторить инструкции, описанные на той странице, в секции Hello World?
Не совсем понял Ваш вопрос. Если Вы имеете в виду, почему возник мой вопрос - то да, вопрос возник потому, что мне захотелось выполнить код, который в секции Hello World. Или Вы имеете в виду, что я упустил что-то сказанное в той статье?
bialix
Все ники заняты
bialix
вы пробовали повторить инструкции, описанные на той странице, в секции Hello World?
Не совсем понял Ваш вопрос. Если Вы имеете в виду, почему возник мой вопрос - то да, вопрос возник потому, что мне захотелось выполнить код, который в секции Hello World. Или Вы имеете в виду, что я упустил что-то сказанное в той статье?
Возможно, упустили. В состав OOo входит свой собственный интерпретатор питона 2.3, я уверен запускать надо именно его. Поскольку вы указали свою версию питона 2.5, у меня возникло подозрение, что вы запускаете не тот питон. Большего сказать не могу – я не пробовал работать с uno.
j2a
Python-модуль ставится для конкретной версии Python. Как правило, той, что стоит по умолчанию. С OOo, AFAIK, “своя” версия Python не идет.

Например, для Debian Etch, это Py2.4:
j2a@moby:~$ dpkg -l | grep uno
ii python-uno 2.0.4-7 Python interface for OpenOffice.org

j2a@moby:~$ python2.3
Python 2.3.5 (#2, Oct 18 2006, 23:04:45)
[GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named uno

j2a@moby:~$ python2.4
Python 2.4.4 (#2, Oct 20 2006, 00:23:25)
[GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno

j2a@moby:~$ python2.5
Python 2.5 (release25-maint, Dec 3 2006, 19:42:24)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named uno
Все ники заняты
Я так и не догнал, что мне надо сделать :(.
Возможно ли, скажем, запустив свой произвольный скрипт “обычным” Python'ом, который установлен в системе (в моём случае Python 2.5), подключиться к OOo с помощью UNO?
По аналогии, как например в винде, можно написать VBS-script, в котором написать:
Set objOffice = CreateObject(“Word.Application”)
И дальше работать, вызывая методы objOffice?
slav0nic
проверь в каком из питонов установлен uno ….
python2.3
python2.4
python2.5
запусти и сделай import uno
чего не понятно ёпрст?
j2a
slav0nic, нежнее, еще нежнее :)

Все ники заняты, модули устанавливаются для каждой версии питона отдельно. И хранятся раздельно. Т.е. может легко возникнуть ситуация, когда в одной версии питона модуль доступен, а в другой – нет. Как я выше показал, у меня в системе три версии питона, и модуль uno работает лишь в одной из них (в моем случае – 2.4). Скорее всего, аналогичная ситуация и у тебя. Последуй совету slav0nic, попробуй каждую версию.
Все ники заняты
Я запустил поиск файлов с именем “python” в MC от каталога “/” и нашёл один такой файл - в каталоге /usr/bin (все остальные результаты поиска - это каталоги). Это версия 2.5. Больше нет ничего.
Все ники заняты
Похоже, дело вовсе не в версиях Python. Модуль UNO превосходно импортируется, если python запущен из каталога OOo, т.е. /usr/lib/ooo-2.0/program, поскольку uno.pyc там и находится. Модуль UNO не импортируется, если python запущен из любого другого каталога.
Однако, помещение пути /usr/lib/ooo-2.0/program в переменную PYTHONPATH ничего не изменило. Есть ли способ настроить python так, чтобы он находил модуль UNO, будучи запущенным из любого каталога?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB