En Windows 10, actualmente tengo dos scripts (.Y se BATE .PY) que se utilizan para generar documentos Pdf a partir de QGIS basados en la solución aquí.
Mi objetivo es ser capaz de ejecutar la secuencia de comandos de python sin tener que llamar a los comandos por lotes cada vez, pero estoy teniendo problemas para conseguir que esto funcione.
El createQGISmap.bat
archivo contiene:
REM Change OSGeo4W_ROOT to point to your install of QGIS.
SET OSGEO4W_ROOT=C:\Program Files\QGIS 2.18
SET QGISNAME=qgis
SET QGIS=%OSGEO4W_ROOT%\apps\%QGISNAME%
set QGIS_PREFIX_PATH=%QGIS%
CALL "%OSGEO4W_ROOT%\bin\o4w_env.bat"
REM Python Setup
set PATH=%OSGEO4W_ROOT%\bin;%QGIS%\bin;%PATH%
SET PYTHONHOME=%OSGEO4W_ROOT%\apps\Python27
set PYTHONPATH=%QGIS%\python;%PYTHONPATH%
ECHO OSGeo path is: %OSGEO4W_ROOT%
ECHO Getting QGIS libs from: %QGIS%
ECHO Python loaded from: %PYTHONHOME%
"C:\Program Files\QGIS 2.18\bin\python.exe" getScreenshot.py
Y el comienzo de la getScreenshot.py
script:
from qgis.core import *
import sys
from qgis.gui import QgsMapCanvas, QgsLayerTreeMapCanvasBridge
from PyQt4.QtCore import QFileInfo, QObject
from PyQt4.QtXml import QDomDocument
gui_flag = True
app = QgsApplication(sys.argv, gui_flag)
# Make sure QGIS_PREFIX_PATH is set in your env if needed!
app.initQgis()
# project.qgs
project_path = 'C:/mydata/qgis/autoexport.qgs'
He intentado manualmente especificando las variables de entorno en Windows (en C: - Propiedades - configuración Avanzada del sistema - variables de Entorno...) como sigue:
QGIS = C:\Program Files\QGIS 2.18\apps\qgis
QGIS_PREFIX_PATH = C:\Program Files\QGIS 2.18\apps\qgis
PATH = C:\Program Files\QGIS 2.18\bin
PATH = C:\Program Files\QGIS 2.18\apps\qgis\bin
PYTHONHOME = C:\Program Files\QGIS 2.18\apps\Python27
PYTHONPATH = C:\Program Files\QGIS 2.18\python
Pero al ejecutar python getScreenshot.py
de la OSGeo4W shell, sigo recibiendo
from qgis.core import *
ImportError: No module named qgis.core
He intentado siguiendo consejos de Cómo puedo solucionar los "ImportError: No module named qgis.núcleo"? y aquí , sin suerte. Debo señalar tengo dos instalaciones de Python (uno incluido con QGIS y Python 3 de Anaconda), así que estoy tratando de ejecutar la secuencia de comandos con la instalación anterior.