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!def info(text): QMessageBox.information(None,"Debug Info", str(text))
QgsVector_y_Layer
Creo que la respuesta de Nathan W está desactualizada. Pude ejecutar scripts de Python QGIS (versión 2.6) desde la línea de comandos (opción 4 de Nathan) usando los siguientes comandos.
fuente
--code
script de Python?Actualización para la opción 4 de Nathan: (Windows, QGIS 2.18 Las Palmas)
Para imprimir el documento de ayuda de QGIS,
Para abrir QGIS, cargue un proyecto y luego ejecute un script de Python.
Estos comandos deben ejecutarse en OSGeo4W Shell sin problemas.
fuente