Problema con la importación de qgis.core al escribir un script de PyQGIS independiente

14

Estoy tratando de escribir una secuencia de comandos de Python independiente en Windows 7 que use qgis.core y varias otras bibliotecas qgis.

He encontrado una vieja pregunta sobre este tema aquí: ¿Escribiendo scripts de Python independientes usando PyQGIS? y estaba siguiendo sus consejos, usando la guía aquí: enlace

El código sugerido es:

set PYTHONPATH=c:\qgispath\python

seguido de:

set PATH=C:\qgispath;%PATH%

Encontré que a IDLE no le gustó 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 me sale:

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 los caminos que se me ocurren, incluyendo 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 donde? Puede que me esté yendo mal?

EDITAR:

Después de ver el comentario de Luigi Pirelli, ahora 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
>>> 
    
pregunta user24956 12.01.2015 - 17:52

2 respuestas

10

Si ha instalado QGIS a través de OSGeo4W, le sugiero que siga este flujo de trabajo (lo he probado en Windows 7):

  1. Abre el Shell OSGeo4W . %código%.

  2. Establecer variables de entorno . Mi forma preferida es ejecutar este archivo bat (actualizado 2016.11.03: este archivo bat ) desde el OSGeo4W Shell. Como puede ver, el archivo establece las variables de entorno de esta manera:

    set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python
    set PATH=%OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
    

    Por supuesto, debe comprobar por usted 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.

  3. ImportelasbibliotecasdePyQGISmedianteunodelossiguientesmétodos:

    a.IngreseelintérpretedePython.EjecuteStart->Allprograms->OSGeo4W->OSGeo4WShellenelOSGeo4WShelleimportelasbibliotecasmanualmente.

    b. Ejecuta un script de Python. Ejecuta python en el OSGeo4W Shell. Comenzaría con uno muy simple .

Elflujodetrabajosepublicó(enespañol)hacevariosañosen GeoTux y aún funciona. Como puede ver, no incluyo variables de entorno en el script de Python, sino que las configuro en el Shell OSGeo4W.

    
respondido por el Germán Carrillo 13.01.2015 - 17:05
4

Acabo de estar luchando 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 un 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 de lote contiene la línea (como lo 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.

    
respondido por el Andy Harfoot 17.01.2018 - 13:30

Lea otras preguntas en las etiquetas