9 votos

¿Cómo usar paquetes de terceros en un complemento de QGIS?

Estoy desarrollando un complemento de QGIS y me gustaría utilizar arrow o requests como estoy acostumbrado a manipular fechas y APIs REST.

QGIS no viene con estos paquetes (al menos arrow), así que cuando intento acceder a mi complemento en QGIS obtengo :

"ImportError: No module named arrow"

¿Cómo puedo especificar mis requisitos?

3 votos

Empaque el huevo de los módulos con el complemento... o intercepte el error y notifique al usuario para que instale los paquetes faltantes

0 votos

R tiene paquetes, Python tiene módulos y si usas una versión de Windows, son difíciles de instalar (especialmente con la versión independiente de QGIS, consulta Cómo instalar bibliotecas de Python de terceros para QGIS en Windows?)

2 votos

En los complementos de Boundless, puedes encontrar una forma de empaquetar módulos en el mismo complemento. p. ej. lee este código github.com/boundlessgeo/qgis-geoserver-plugin

3voto

IBBoard Puntos 170

Gracias por los recursos. Intenté usar paver pero parece ser un poco complicado de implementar, ¿no es así para un desarrollador no experto?

Además, por defecto, pip no está instalado incluso con el instalador de OSGeo4W. ¿Puede tu script de paver funcionar sin él?

Para instalarlo, seguí estas instrucciones y produje un archivo por lotes (ver abajo) pero no resuelve los problemas de permisos de administrador:

@echo off
Title "PyPi en QGIS"
Echo "Añadiendo módulos de terceros en QGIS"

REM descargar de manera segura el script de instalación de get-pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

REM instalar pip
python get-pip.py

REM instalar módulos de terceros
pip install --user arrow
pip install --user requests
pip install --user requests[security]

@echo on
pause

2 votos

Para instalar en el directorio de python de usuario (sin necesidad de derechos de administrador) puedes añadir el interruptor --user en tu comando: pip install --user arrow y etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X