envirosolutionspl / pobieracz_danych_gugik

Wtyczka QGIS do pobierania danych przestrzennych z zasobów GUGiK
GNU General Public License v3.0
5 stars 1 forks source link

Wtyczka po zainstalowaniu zgłasza brak pakietu lxml, który jest zainstalowany #47

Closed ekolabynet closed 4 months ago

ekolabynet commented 1 year ago

Dzień dobry, po aktualizacji wtyczki do wersji 1.0 nie chce się załadować, tylko zgłasza brak pakietu lxml, który jest zainstalowany. Szczegóły poniżej. Być może to kwestia jakiejś konfiguracji Pyhona :-). Mój system to OpenSUSE 15.4 Czy można coś na to zaradzić? Pozdrawiam PM


Nie można wczytać wtyczki 'pobieracz_danych_gugik' z powodu błędu wywołania jej metody classFactory()

ModuleNotFoundError: No module named 'lxml' Traceback (most recent call last): File "/app/share/qgis/python/qgis/utils.py", line 423, in _startPlugin plugins[packageName] = package.classFactory(iface) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/init.py", line 5, in classFactory from .pobieracz_danych_gugik import PobieraczDanychGugik File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/pobieracz_danych_gugik.py", line 8, in from .tasks import ( File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/tasks/init.py", line 8, in from .downloadWfsEgibTask import DownloadWfsEgibTask File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/tasks/downloadWfsEgibTask.py", line 7, in from ..wfs import WfsEgib File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/wfs/init.py", line 2, in from .wfs_egib import WfsEgib File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/wfs/wfs_egib.py", line 1, in import lxml File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'lxml'

Wersja Pythona: 3.9.9 (main, Nov 10 2011, 15:00:00) [GCC 11.3.0] Wersja QGIS: 3.26.1-Buenos Aires Buenos Aires, exported

Lokalizacja Pythona: /app/share/qgis/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins /app/share/qgis/python/plugins /usr/lib/python39.zip /usr/lib/python3.9 /usr/lib/python3.9/lib-dynload /usr/lib/python3.9/site-packages /app/lib/python3.9/site-packages /app/lib/python3.9/site-packages/MarkupSafe-2.0.1-py3.9-linux-x86_64.egg /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/shapetools/ext-libs /media/piotr/DATA/APPL/APPL FORT VII B

envirosolutionspl commented 1 year ago

W jakiej wersji QGIS występuje problem?

ekolabynet commented 1 year ago

3.26.1 z instalowana via flatpak.

Przed chwilą zaktualizowałem do 3.26.2 i wciąż pojawia się ten sam błąd


Nie można wczytać wtyczki 'pobieracz_danych_gugik' z powodu błędu wywołania jej metody classFactory()

ModuleNotFoundError: No module named 'lxml' Traceback (most recent call last): File "/app/share/qgis/python/qgis/utils.py", line 423, in _startPlugin plugins[packageName] = package.classFactory(iface) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/init.py", line 5, in classFactory from .pobieracz_danych_gugik import PobieraczDanychGugik File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/pobieracz_danych_gugik.py", line 8, in from .tasks import ( File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/tasks/init.py", line 8, in from .downloadWfsEgibTask import DownloadWfsEgibTask File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/tasks/downloadWfsEgibTask.py", line 7, in from ..wfs import WfsEgib File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/wfs/init.py", line 2, in from .wfs_egib import WfsEgib File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/wfs/wfs_egib.py", line 1, in import lxml File "/app/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'lxml'

Wersja Pythona: 3.9.9 (main, Nov 10 2011, 15:00:00) [GCC 11.3.0] Wersja QGIS: 3.26.2-Buenos Aires Buenos Aires, exported

Lokalizacja Pythona: /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/geometric_attributes /app/share/qgis/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins /app/share/qgis/python/plugins /usr/lib/python39.zip /usr/lib/python3.9 /usr/lib/python3.9/lib-dynload /usr/lib/python3.9/site-packages /app/lib/python3.9/site-packages /app/lib/python3.9/site-packages/MarkupSafe-2.1.1-py3.9-linux-x86_64.egg /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python /home/piotr/.var/app/org.qgis.qgis/data/QGIS/QGIS3/profiles/default/python/plugins/shapetools/ext-libs

ptatar0308 commented 1 year ago

Przy instalacji QGIS za pomocą komendy 'sudo zypper install qgis' nie występuje błąd. Komenda instaluje wersje QGIS 3.18. Problemem może być kompilacja QGIS z flatpak

ekolabynet commented 1 year ago

Dzień dobry, w międzyczasie przesiadłem się z powrotem na Kubuntu 22.4 i 22.10. Na obu występuje błąd. Jest wywołany odwołaniami do pakietu lxml w pliku wfs_egib.py

python3-lxml jest zainstalowany na wszystkie sposoby.

Znalazłem tymczasowe rozwiązanie:

Po tym jak zakomentowałem importy na początku pliku wfs_egib.py: (WERSJA BETA :-))

import lxml

import requests

import os

import xml.etree.ElementTree as ET

from time import sleep

from lxml import etree

from lxml.etree import XMLSyntaxError

... wtyczka pracuje. Nie używam importu EGIB, ale działa. Jak użyję, to oczywiście cały QGIS pada.

Może coś się da z tym zrobić :-).

Pozdrawiam PM

maciek252 commented 1 year ago

Też miałem ten problem i udało mi się go rozwiązać instalując lxml dla flatpaka globalnie. A nie tylko dla bieżącego użytkownika, co nie pomagało. Z tego co pamiętam to było to tak:

sudo -l flatpak run --devel --command=pip3 org.qgis.qgis install lxml

wojtek19022 commented 7 months ago

Błąd w dalszym ciągu występuje nawet na Ubuntu 22 i QGIS 3.34.1 Flatpak. Nie występuje natomiast w przypadku zwykłej wersji QGIS Desktop na Windows i Ubuntu 22, zainstalowany za pośrednictwem następujacych komend: https://www.qgis.org/en/site/forusers/alldownloads.html#linux

wojtek19022 commented 4 months ago

Przy najnowszej wersji QGIS Flatpak - 3.36 błąd nie występuje :) w celu dalszej pracy na QGIS Flatpak z wtyczką proszę o aktualizację prekompilowanego QGIS'a do najnowszej wersji. Wystarczy skorzystać z następującej komendy: flatpak update

wojtek19022 commented 4 months ago

Jeżeli jednak QGIS 3.28 wydaje się pewniejszy, to można w terminalu wykonać następujące komendy:

  1. flatpak install runtime/org.kde.Sdk/x86_64/5.15-21.08
  2. flatpak run --devel --command=pip3 org.qgis.qgis install lxml --user

Po wykonaniu tych komend możliwe jest odpalenie qgis flatpak standardową komendą dla tej wersji