https://bugs.documentfoundation.org/show_bug.cgi?id=168249
Bug ID: 168249
Summary: Installing Financial-Extension fails with a python
error - using either the extensions manager or command
line unopkg
Product: LibreOffice
Version: 24.2.4.2 release
Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Calc
Assignee: [email protected]
Reporter: [email protected]
Description:
Installing Financial-Extensions fails with a python error. Stderr from unopkg
follows.
rono@x360:~/Financials-Extension$ unopkg add Financials-Extension.oxt
ERROR: Exception occurred: <class 'AttributeError'>: module
'eventlet.green.select' has no attribute 'epoll', traceback follows
File "/usr/lib/libreoffice/program/pythonloader.py", line 147, in
writeRegistryInfo
mod = self.getModuleFromUrl( locationUrl )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/libreoffice/program/pythonloader.py", line 102, in
getModuleFromUrl
exec(codeobject, mod.__dict__)
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials.py",
line 57, in <module>
import financials_yahoo as yahoo
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials_yahoo.py",
line 22, in <module>
from baseclient import BaseClient, HttpException
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/baseclient.py",
line 29, in <module>
from curl_cffi import requests, __version__ as requests_version, __name__
as requests_name
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/rono/.local/lib/python3.12/site-packages/curl_cffi/__init__.py",
line 64, in <module>
from .requests import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/__init__.py",
line 40, in <module>
from .session import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/session.py",
line 42, in <module>
import eventlet.tpool
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 6, in
<module>
from eventlet import convenience
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in
<module>
from eventlet.green import socket
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in
<module>
from eventlet.support import greendns
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 78,
in <module>
setattr(dns, pkg, import_patched('dns.' + pkg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 60,
in import_patched
return patcher.import_patched(module_name, **modules)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in
import_patched
return inject(
^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in
inject
module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 32, in <module>
import dns.quic
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dns/quic/__init__.py", line 37, in
<module>
import trio
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/__init__.py", line 22, in <module>
from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED # isort:
split
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/__init__.py", line 21, in
<module>
from ._local import RunVar, RunVarToken
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_local.py", line 9, in
<module>
from . import _run
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2787, in
<module>
from ._io_epoll import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 202, in
<module>
class EpollIOManager:
File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 203, in
EpollIOManager
_epoll: select.epoll = attr.ib(factory=select.epoll)
^^^^^^^^^^^^
at ./pyuno/source/module/pyuno_runtime.cxx:950
ERROR: unopkg failed.
Steps to Reproduce:
1.download the Financial-Extension.oxt file from here
https://github.com/cmallwitz/Financials-Extension/releases
2.from the commandline: unopkg add Financials-Extension.oxt
Actual Results:
ERROR: Exception occurred: <class 'AttributeError'>: module
'eventlet.green.select' has no attribute 'epoll', traceback follows
File "/usr/lib/libreoffice/program/pythonloader.py", line 147, in
writeRegistryInfo
mod = self.getModuleFromUrl( locationUrl )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/libreoffice/program/pythonloader.py", line 102, in
getModuleFromUrl
exec(codeobject, mod.__dict__)
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials.py",
line 57, in <module>
import financials_yahoo as yahoo
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/financials_yahoo.py",
line 22, in <module>
from baseclient import BaseClient, HttpException
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8153kh4i.tmp_/Financials-Extension.oxt/baseclient.py",
line 29, in <module>
from curl_cffi import requests, __version__ as requests_version, __name__
as requests_name
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/rono/.local/lib/python3.12/site-packages/curl_cffi/__init__.py",
line 64, in <module>
from .requests import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/__init__.py",
line 40, in <module>
from .session import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/rono/.local/lib/python3.12/site-packages/curl_cffi/requests/session.py",
line 42, in <module>
import eventlet.tpool
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 6, in
<module>
from eventlet import convenience
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in
<module>
from eventlet.green import socket
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in
<module>
from eventlet.support import greendns
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 78,
in <module>
setattr(dns, pkg, import_patched('dns.' + pkg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 60,
in import_patched
return patcher.import_patched(module_name, **modules)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in
import_patched
return inject(
^^^^^^^
File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in
inject
module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 32, in <module>
import dns.quic
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dns/quic/__init__.py", line 37, in
<module>
import trio
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/__init__.py", line 22, in <module>
from ._core import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED # isort:
split
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/__init__.py", line 21, in
<module>
from ._local import RunVar, RunVarToken
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_local.py", line 9, in
<module>
from . import _run
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2787, in
<module>
from ._io_epoll import (
File "/usr/lib/python3/dist-packages/uno.py", line 349, in _uno_import
return _builtin_import(name, *optargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 202, in
<module>
class EpollIOManager:
File "/usr/lib/python3/dist-packages/trio/_core/_io_epoll.py", line 203, in
EpollIOManager
_epoll: select.epoll = attr.ib(factory=select.epoll)
^^^^^^^^^^^^
at ./pyuno/source/module/pyuno_runtime.cxx:950
ERROR: unopkg failed.
Note that the extension is marked as installed ... but broken
Expected Results:
No output and the extension should be installed and available
Reproducible: Always
User Profile Reset: No
Additional Info:
You get the same results from the extension Manager GUI, but the dialog box
displaying the error output is unhelpful. Not able to scroll to see all the
output and can not copy it to put in a bug report.
So I reproduced this from the command line
--
You are receiving this mail because:
You are the assignee for the bug.