Estoy tratando de escribir un script python independiente en Windows 7 que use qgis.core y varias otras bibliotecas qgis.
He encontrado una vieja pregunta sobre este tema aquí: ¿ Escribir scripts de Python independientes usando PyQGIS? y estaba siguiendo su consejo, usando la guía aquí: http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/intro.html#python-applications
El código sugerido es:
set PYTHONPATH=c:\qgispath\python
seguido por:
set PATH=C:\qgispath;%PATH%
Descubrí que a IDLE no le gustaba el "conjunto al principio, por lo que mi código se ve así:
PYTHONPATH="C:\OSGeo4W64\apps\qgis\python"
PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
import qgis.core
y obtengo:
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
He intentado todas las variantes de las rutas que se me ocurren, incluida la eliminación de "% PATH%" al final (que parece un poco superfluo), pero no he podido encontrar más información. ¿Alguien tiene alguna idea de dónde podría estar? ¿yendo mal?
EDITAR:
Después de ver el comentario de Luigi Pirelli, he intentado:
>>> PYTHONPATH="C:/OSGEO4~1/apps/qgis/./python\qgis"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:/OSGEO4~1/apps/qgis/./python\qgis\core;%PATH%"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>>
Respuestas:
Si ha instalado QGIS a través de OSGeo4W, le sugiero que siga este flujo de trabajo (lo acabo de probar en Windows 7):
Abra el Shell OSGeo4W .
Start->All programs->OSGeo4W->OSGeo4W Shell
.Establecer variables de entorno . Mi forma preferida es ejecutar este archivo bat (actualizado 2016.11.03: este archivo bat ) desde el Shell OSGeo4W. Como puede ver, el archivo establece variables de entorno de esta manera:
Por supuesto, debe verificar por sí mismo que esas rutas existen en su sistema operativo y ajustarlas si es necesario.
Entonces, descargue el archivo .bat y ejecútelo accediendo desde el Shell OSGeo4W y presionando ENTER.
Importe bibliotecas PyQGIS por uno de los siguientes métodos:
a. Ingrese el intérprete de Python. Ejecute
python
en OSGeo4W Shell e importe las bibliotecas manualmente.si. Ejecuta un script de Python. Ejecutar
python my_pyqgis_script.py
en el Shell OSGeo4W. Comenzaría con una muy simple .El flujo de trabajo se publicó hace varios años en GeoTux y aún funciona. Como puede ver, no incluyo variables de entorno en el script de Python, sino que las configuro en OSGeo4W Shell.
fuente
C:\dllo
) y ejecuta el archivo .bat escribiendo el nombre del archivo y presionando Enter.Acabo de luchar con un problema similar y noté un archivo por lotes en la carpeta OSGeo4W \ bin llamado python-qgis.bat . Esto es parte de una instalación basada en el paquete OSGeo4W de QGIS 2.18.15 x64 en Windows 10.
Cuando se ejecuta, este archivo por lotes abre el intérprete de Python.
import qgis
se ejecuta con éxito desde dentro.Este archivo por lotes contiene la línea (como señaló Germán Carrillo en su respuesta original):
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%PYTHONPATH%
justo antes de que se inicie el intérprete de Python.
fuente