QGIS Flatpak: No module named pip i system plików tylko do odczytu
QGIS Flatpak: No module named pip i system plików tylko do odczytu
Uruchom pip przez Flatpak z --devel i instaluj z --user: flatpak run --devel --command=pip3 org.qgis.qgis install scipy --user. Jeśli brakuje samego pip, utwórz go najpierw za pomocą flatpak run --command=python3 org.qgis.qgis -m ensurepip --upgrade --user.
/usr/bin/python3: No module named pip
bwrap: execvp pip3: No such file or directory
ERROR: Could not install packages due to an EnvironmentError:
[Errno 30] Read-only file system: '/usr/lib/python3.11/site-packages/urllib3-1.25.9.dist-info'
error: runtime/org.kde.Sdk/x86_64/5.15-22.08 not installed
Dotyczy pakietu QGIS z Flathub, org.qgis.qgis, na każdej dystrybucji Linux.
Dlaczego tak się dzieje
Flatpak zawiera własnego Pythona, niezależnego od tego, który został zainstalowany w Twojej dystrybucji, dlatego pakiet dodany za pomocą systemowego pip lub apt jest niewidoczny dla QGIS. W piaskownicy /usr jest zamontowany jako tylko do odczytu, co powoduje błąd [Errno 30]: zwykłe pip install próbuje tam zapisać dane i zostaje odrzucone. --user kieruje pliki do zapisywalnego katalogu.
Pip znajduje się w SDK, a nie w runtime QGIS, z którym QGIS jest zwykle uruchamiany. Bez --devel nie ma pip3, który można uruchomić, stąd komunikat bwrap: execvp. Z kolei --devel wymaga zainstalowania na komputerze pasującego SDK, co wyjaśnia ostatnią linię.
Rozwiązanie
Zainstaluj SDK pasujące do QGIS Flatpak
Odczytaj wiersz Sdk z flatpak info org.qgis.qgis, a następnie zainstaluj dokładnie tę gałąź, na przykład flatpak install flathub org.kde.Sdk//6.7. Gałąź z komunikatu błędu to ta, której potrzebujesz.
Upewnij się, że pip istnieje
flatpak run --command=python3 org.qgis.qgis -m ensurepip --upgrade --user
Zainstaluj pakiet
flatpak run --devel --command=pip3 org.qgis.qgis install scipy --user
Zastąp scipy pakietem wymaganym przez Twój plugin. Zachowaj obie flagi: --devel, aby uzyskać dostęp do pip, oraz --user, aby zapisać pliki w miejscu dozwolonym przez piaskownicę.
Sprawdź, czy QGIS go widzi
Uruchom ponownie QGIS, otwórz Wtyczki, a następnie Konsolę Python i zaimportuj moduł. Jeśli import działa tam, plugin również go znajdzie.
Jeśli to nie zadziałało
- Sprawdź, gdzie faktycznie trafiły pliki:
flatpak run --command=python3 org.qgis.qgis -c "import site; print(site.getusersitepackages())". Porównaj tę ścieżkę zsys.pathw Konsoli Python QGIS. Jeśli katalogu nie ma na liście, nic, co zostało tam zainstalowane, nie będzie się importować. - Pakiet kompilujący rozszerzenia C może nadal nie działać. SDK zawiera kompilator, ale nie każdy nagłówek programistyczny, a spoza piaskownicy nie możesz go dodać. Poszukaj gotowego wheel dla tego samego pakietu.
- W Debianie i Ubuntu zainstaluj QGIS z oficjalnego repozytorium QGIS zamiast z Flathub. QGIS będzie wtedy używać systemowego Pythona, a zależności pluginu zainstalujesz zwykłym pip.
Czytaj dalejNajlepsze wtyczki AI do QGIS w 2026 roku, porównanie

