Eu gostaria de executar alguns scripts python pequenos e simples para QGIS (Mac) de "fora" do QGIS. Com fora, quero dizer, nesse contexto, a linha de comando normal do sistema operacional (terminal.app) ou, melhor ainda, diretamente do Sublime Text (editor de texto), mas definitivamente não através do console python embutido do QGIS.
Eu li vários tutoriais, por exemplo, http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications e sou capaz de obter uma referência ao aplicativo QGIS, mas infelizmente não é qgis.utils.iface
ou algo mais profundo . Este pequeno trecho de código deve, por exemplo, imprimir o nome da camada ativa ... aqui está o que eu tenho:
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, não me responda agora como criar um plugin ou algo mais "pesado". Estou apenas procurando uma maneira rápida e fácil de gravar scripts de um confortável editor de texto para o QGIS.
4
. Enquanto isso, tenho que conviver2
, o que é realmente doloroso o tempo todoimport script
seguido porreload(script)
e, claro, mudar do meu editor para o QGIS. Também verifiquei o plug-in scriptrunner, o que é promissor, mas não conseguiprint "debug value"
acessar o console do QGIS. Você sabe, por acaso, uma maneira de fazer com que um script scriptrunner imprima algo no console do QGIS? Muito Obrigado! Aguardarei sua resposta e feche a pergunta!