Форум программистов

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Форум программистов (https://programmersforum.ru/index.php)
-   Python (https://programmersforum.ru/forumdisplay.php?f=110)
-   -   No module named 'base' (https://programmersforum.ru/showthread.php?t=346627)

Ципихович Эндрю 26.12.2023 14:01

No module named 'base'
 
Код:

import uno
import uno.base

def open_file(file_path):
    """Открывает файл в LibreOffice."""

    # Создаем соединение с LibreOffice.
    conn = uno.connect()

    # Получаем менеджер документов.
    document_manager = conn.getService("com.sun.star.frame.DocumentManager")

    # Открываем файл.
    document = document_manager.loadDocument(file_path)

    # Закрываем соединение с LibreOffice.
    conn.close()


file_path = r"i:/Российская Федерация/5. ГОСТ Р 52289-2019_01.04.2020.htm"
open_file(file_path)

ошибка
Traceback (most recent call last):
File "C:\pythonProject\sudrf.ru1.py" , line 1, in <module>
import uno
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\site-packages\uno\__init__.py", line 4, in <module>
from base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
ModuleNotFoundError: No module named 'base'
как её исправить? спасибо

p51x 26.12.2023 15:37

Уберите import uno.base

Ципихович Эндрю 26.12.2023 15:43

Цитата:

Сообщение от p51x (Сообщение 1864069)
Уберите import uno.base

ок
Traceback (most recent call last):
File "C:\pythonProject\sudrf.ru1.py" , line 1, in <module>
import uno
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\site-packages\uno\__init__.py", line 4, in <module>
from base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
ModuleNotFoundError: No module named 'base'
тоже самое

p51x 26.12.2023 16:01

Похоже вы поставили uno вместо python-uno

Ципихович Эндрю 26.12.2023 16:20

pip install python-uno - так?
ERROR: Could not find a version that satisfies the requirement python-uno (from versions: none)
ERROR: No matching distribution found for python-uno
==================================
ОШИБКА: не удалось найти версию, удовлетворяющую требованию python-uno (из версий: нет)
ОШИБКА: для python-uno не найдено подходящего дистрибутива.

p51x 26.12.2023 16:37

Удалите старый uno
Посмотрите в OO какая версия пайтона
Проверьте ваш скрипт OOшным пайтоном

Ципихович Эндрю 26.12.2023 17:02

Цитата:

Сообщение от p51x (Сообщение 1864073)
OO

что за зверь?

Ципихович Эндрю 26.12.2023 20:04

Цитата:

Сообщение от p51x (Сообщение 1864073)
Удалите старый uno

тут понятно - pip uninstall uno
Цитата:

Сообщение от p51x (Сообщение 1864073)
Посмотрите в OO какая версия пайтона
Проверьте ваш скрипт OOшным пайтоном

Не понятно, можно пояснения?

p51x 26.12.2023 21:35

Цитата:

Сообщение от Ципихович Эндрю (Сообщение 1864080)
Не понятно, можно пояснения?

В вашем случае либра

запускаете либру start soffice -accept=socket,host=localhost,port=2 002;urp;
запускаете ее пайтон "C:\Program Files\LibreOffice\program\python.ex e"
проверяете >> import uno

Ципихович Эндрю 27.12.2023 09:41

Вложений: 1
никогда подобного не делал, пришлось гуглить, ну и нужно оставить запись об этом вдруг кому понадобится))
Откройте командную строку
Запустите следующую команду, чтобы запустить LibreOffice:
start soffice -accept=socket,host=localhost,port=2 002;urp;
Здесь start soffice - это команда для запуска LibreOffice, -accept=socket,host=localhost,port=2 002 - это параметр для установления соединения через сокет с сервером, и urp - это параметр для активации универсального пускового окна (Universal Resource Protocol).
и вижу, скрин приложил, тоже самое что я бы нажал в Пуск LibreOffice

запустил ее пайтон "C:\Program Files\LibreOffice\program\python.ex e" - её нужно строго запускать с открытым окном в предыдущем шаге?
проверил >> import uno
ответ:
import uno
"import" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.


23:19.