#python #libreoffice #uno
Вопрос:
python3
Python 3.9.6 (default, Jul 14 2021, 09:15:03)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.9/site-packages/uno/__init__.py", line 4, in <module>
from base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
ImportError: cannot import name 'Element' from 'base' (/usr/local/lib/python3.9/site-packages/base/__init__.py)
>>>
Проверьте файлы uno
.
ls /usr/local/lib/python3.9/site-packages/uno
base.py constants.py core.py css_constants.py decorators.py field.py form.py helpers.py __init__.py input_elements.py __pycache__ quickadder.py search.py
Он пуст в файле.
ls -al /usr/local/lib/python3.9/site-packages/base/__init__.py
-rw-r--r-- 1 root root 0 Jun 23 2016 /usr/local/lib/python3.9/site-packages/base/__init__.py
Зафиксируйте линию /usr/local/lib/python3.9/site-packages/uno/__init__.py
.
from .base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
Повторный импорт снова:
python3
Python 3.9.6 (default, Jul 14 2021, 09:15:03)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.9/site-packages/uno/__init__.py", line 4, in <module>
from .base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
File "/usr/local/lib/python3.9/site-packages/uno/base.py", line 129
print 'new css', self._attr, 'value:', value
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('new css', self._attr, 'value:', value)?
Модуль uno
написан с python2
помощью .
Теперь нужно установить uno, поддерживаемый python3.
debian@debian:~$ sudo apt install python3-uno
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-uno is already the newest version (1:6.1.5-3 deb10u7).
0 upgraded, 0 newly installed, 0 to remove and 47 not upgraded.
debian@debian:~$ python3
Python 3.9.6 (default, Jul 14 2021, 09:15:03)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import python3-uno
File "<stdin>", line 1
import python3-uno
^
SyntaxError: invalid syntax
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.9/site-packages/uno/__init__.py", line 4, in <module>
from .base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
File "/usr/local/lib/python3.9/site-packages/uno/base.py", line 129
print 'new css', self._attr, 'value:', value
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('new css', self._attr, 'value:', value)?
Как можно импортировать python3-uno
то, что я уже установил тогда?
Комментарии:
1. Ты смотришь на
.../base/__init__.py
, нет.../uno/base.py
. Они совершенно не связаны. Это похоже на конфликт имен. Они должны были сказатьfrom .base import ...