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

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

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2023, 14:01   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию 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'
как её исправить? спасибо
Ципихович Эндрю на форуме Ответить с цитированием
Старый 26.12.2023, 15:37   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Уберите import uno.base
p51x вне форума Ответить с цитированием
Старый 26.12.2023, 15:43   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Уберите 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'
тоже самое
Ципихович Эндрю на форуме Ответить с цитированием
Старый 26.12.2023, 16:01   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Похоже вы поставили uno вместо python-uno
p51x вне форума Ответить с цитированием
Старый 26.12.2023, 16:20   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

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 не найдено подходящего дистрибутива.
Ципихович Эндрю на форуме Ответить с цитированием
Старый 26.12.2023, 16:37   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Удалите старый uno
Посмотрите в OO какая версия пайтона
Проверьте ваш скрипт OOшным пайтоном
p51x вне форума Ответить с цитированием
Старый 26.12.2023, 17:02   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
OO
что за зверь?
Ципихович Эндрю на форуме Ответить с цитированием
Старый 26.12.2023, 20:04   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Удалите старый uno
тут понятно - pip uninstall uno
Цитата:
Сообщение от p51x Посмотреть сообщение
Посмотрите в OO какая версия пайтона
Проверьте ваш скрипт OOшным пайтоном
Не понятно, можно пояснения?
Ципихович Эндрю на форуме Ответить с цитированием
Старый 26.12.2023, 21:35   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Не понятно, можно пояснения?
В вашем случае либра

запускаете либру start soffice -accept=socket,host=localhost,port=2 002;urp;
запускаете ее пайтон "C:\Program Files\LibreOffice\program\python.ex e"
проверяете >> import uno
p51x вне форума Ответить с цитированием
Старый 27.12.2023, 09:41   #10
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

никогда подобного не делал, пришлось гуглить, ну и нужно оставить запись об этом вдруг кому понадобится))
Откройте командную строку
Запустите следующую команду, чтобы запустить 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" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Изображения
Тип файла: jpg Без имени либра.jpg (74.2 Кб, 0 просмотров)
Ципихович Эндрю на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
No module named '_cffi_backend' Ципихович Эндрю Python 6 22.12.2023 13:31
No module named 'django'. Как исправить ошибку? Женя32 Python 1 02.08.2021 11:51
Python ошибка no module named flask Alisher_123456 Python 6 29.01.2019 01:48
named pipes st01en Общие вопросы Delphi 1 26.09.2010 23:33
использование named Pipe Sparky Общие вопросы .NET 1 29.03.2010 17:54