Me gustaría ejecutar algunos scripts python pequeños y simples para QGIS (Mac) desde "fuera" de QGIS. Con afuera quiero decir en este contexto, ya sea la línea de comando normal del sistema operativo (terminal.app) o incluso mejor, directamente desde Sublime Text (editor de texto), pero definitivamente no a través de la consola QGIS python incorporada.
He leído varios tutoriales, por ejemplo, http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications y puedo obtener una referencia a la aplicación QGIS, pero desafortunadamente no lo hago qgis.utils.iface
o algo más profundo . Este pequeño fragmento de código debería, por ejemplo, imprimir el nombre de la capa activa ... esto es lo que tengo:
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()
Por favor, no me responda ahora cómo crear un complemento u otra cosa "pesada". Solo estoy buscando una manera rápida y fácil de grabar scripts de un cómodo editor de texto para QGIS.
4
. Mientras tanto, tengo que convivir2
, lo cual es realmente doloroso hacerlo todo el tiempoimport script
seguidoreload(script)
y, por supuesto, cambiar de mi editor a QGIS. También revisé el complemento scriptrunner, que es prometedor, pero luego no pude accederprint "debug value"
a la consola QGIS. ¿Sabes, por casualidad, una forma de hacer que un script de scriptrunner imprima algo en la consola QGIS? ¡Muchas gracias! ¡Esperará su respuesta y luego cerrará la pregunta!