Spuštění kódu při startu QGIS

Při spuštění nějakého programu při startu programu QGIS se může vykonat určitý kód. To nastavíme buď za použití proměnné prostředí PYQGIS_STARTUP nebo tím, že vytvoříme skript v domovské složce Pythonu pro QGIS, což je

  • na operačním systému Linux .local/share/QGIS/QGIS3/
  • na Windows: AppDataRoamingQGISQGIS3profilesdefault/python
  • na macOS: Library/Application Support/QGIS/QGIS3/profiles/default

se jménem startup.py. Ten bude automaticky vykonán při spuštění.

Note

Výchozí adresář pro umístění souboru startup.py se může na každém systému měnit. Pro ověření správného umístění otevřete Zásuvné moduly ‣ Python konzole a po vložení kódu QStandardPaths.standardLocations(QStandardPaths.AppDataLocation) se vám výchozí cesty vypíší.

Do tohoto skriptu můžeme nastavit například proměnné prostředí nebo zkontrolovat přítomnost potřebných modulů:

# příklad souboru ~/.local/share/QGIS/QGIS3/startup.py

#
# přídání vlastní cesty  k Python modulům
#
import sys
sys.path.append("/home/user/python/moduly")

#
# aktivace vlastního Virtualenv z Pythonu
#
activate_this_file = "/cesta/k/virtualenv/bin/activate_this.py"
exec(
    compile(
        open(activate_this_file, "rb").read(),
        activate_this_file, 'exec'
    ),
    dict(__file__=activate_this_file)
)


#
# případná instalace chybějících balíků
#
import pip
pip.main(['install', 'some_package'])

#
# ověření přítomnosti balíků
#
try:
    import fiona
    print("Vše v pořádku")
except ImportError as e:
    print("Fiona není nainstalována")

Skript je vykonán při startu QGIS a veškeré potřebné moduly a nastavení prostředí by mělo být hotové.