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.ifaceo 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 scriptseguidoreload(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!