Chciałbym uruchomić kilka małych i prostych skryptów Pythona dla QGIS (Mac) z „poza” QGIS. Z zewnątrz mam na myśli w tym kontekście albo normalną linię poleceń os (terminal.app), albo nawet lepiej, bezpośrednio z Sublime Text (edytor tekstu), ale zdecydowanie nie za pośrednictwem wbudowanej konsoli python QGIS.
Przeczytałem różne samouczki, np. Http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications i jestem w stanie uzyskać odniesienie do aplikacji QGIS, ale niestety nie do qgis.utils.iface
czegoś głębszego . Ten mały fragment kodu powinien na przykład wypisać nazwę aktywnej warstwy ... oto co mam:
import sys
sys.path.append("/Applications/QGIS.app/Contents/Resources/python")
from qgis.core import *
import qgis.utils
print "helo" # console output: helo
QgsApplication.setPrefixPath("/Applications/QGIS.app/", True)
QgsApplication.initQgis()
print QgsApplication # console output: <class 'qgis.core.QgsApplication'>
print qgis.utils.iface # = console output: none
aLayer = qgis.utils.iface.activeLayer()
print aLayer.name()
QgsApplication.exitQgis()
Nie odpowiadaj mi teraz, jak utworzyć wtyczkę lub coś „ciężkiego”. Po prostu szukam szybkiego i łatwego sposobu na strzelanie skryptami z wygodnego edytora tekstów do QGIS.
4
. W międzyczasie muszę żyć2
, co jest naprawdę ból robi cały czasimport script
następniereload(script)
i zmiany kursu z moim edytorze do QGIS. Sprawdziłem również wtyczkę scriptrunner, która jest obiecująca, ale potem nie byłem w stanie dostać sięprint "debug value"
do konsoli QGIS. Czy znasz przypadkiem sposób, w jaki skrypt scriptrunner drukuje coś na konsoli QGIS? Wielkie dzięki! Poczekam na twoją odpowiedź, a następnie zamkniesz pytanie!