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 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é.