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!def info(text): QMessageBox.information(None,"Debug Info", str(text))
QgsVector_y_Layer
Acho que a resposta de Nathan W está desatualizada. Consegui executar scripts python QGIS (versão 2.6) a partir da linha de comando (opção 4 de Nathan) usando os seguintes comandos.
fonte
--code
script python?Atualização para a opção 4 de Nathan: (Windows, QGIS 2.18 Las Palmas)
Para imprimir o documento de ajuda do QGIS,
Para abrir o QGIS, carregue um projeto e execute um script python.
Esses comandos devem ser executados no OSGeo4W Shell sem problemas.
fonte