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!def info(text): QMessageBox.information(None,"Debug Info", str(text))
QgsVector_y_Layer
Myślę, że odpowiedź Nathana W. jest nieaktualna. Udało mi się uruchomić skrypty python QGIS (wersja 2.6) z wiersza poleceń (opcja Nathana 4) przy użyciu następujących poleceń.
źródło
--code
skryptu python?Aktualizacja dla opcji Nathana 4: (Windows, QGIS 2.18 Las Palmas)
Aby wydrukować dokument pomocy QGIS,
Aby otworzyć QGIS, załaduj projekt, a następnie uruchom skrypt w języku Python.
Te polecenia powinny działać bez problemu na powłoce OSGeo4W.
źródło