Como usar pacote de terceiros em um plug-in QGIS?


9

Estou desenvolvendo um plug-in QGIS e gostaria de usar pacotes de seta ou solicitações , pois estou acostumado a manipular datas e APIs REST.

O QGIS não vem com esses pacotes (em menos seta); portanto, quando tento acessar meu plug-in no QGIS, tenho:

"ImportError: nenhum módulo chamado seta"

Como posso especificar meus requisitos?


3
empacote o ovo dos módulos com o plug-in ... ou intercepte o erro e notifique o usuário para instalar os pacotes ausentes
Luigi Pirelli

O R possui pacotes, o Python possui módulos e, se você usa uma versão do Windows, eles são difíceis de instalar (principalmente com a versão autônoma do QGIS, consulte Como instalar bibliotecas python de terceiros para o QGIS no Windows? )
gene

2
Nos plugis ilimitados, você pode encontrar uma maneira de empacotar o módulo no mesmo plug-in. por exemplo, leia este código github.com/boundlessgeo/qgis-geoserver-plugin
Luigi Pirelli

@gene python possui pacotes e módulos - stackoverflow.com/questions/7948494/…
user2856

1
@ LuigiPirelli, se você encontrar o tempo, seria ótimo se você pudesse resumir as etapas necessárias para empacotar um módulo em um plugin em uma resposta a esta pergunta. Muito obrigado!
underdark

Respostas:


2

Obrigado pelos recursos. Tentei usar a pavimentadora, mas parece um pouco doloroso implementar, para um desenvolvedor não especialista, não?

Além disso, por padrão, o pip não é instalado mesmo com o instalador do OSGeo4W. Você poderia pavimentar o script funciona sem ele?

Para instalá-lo, segui estas instruções e produzi um arquivo em lotes (veja abaixo), mas não resolve os problemas de direitos de administrador:

@echo off
Title "PyPi in QGIS"
Echo "Adding 3rd party modules in QGIS"

REM securely download get-pip install script
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

REM install pip
python get-pip.py

REM install 3rd party modules
pip install --user arrow
pip install --user requests
pip install --user requests[security]

@echo on
pause

2
Para instalar no diretório do usuário python (sem direitos de administrador necessários) você pode adicionar --userbotão em seu comando: pip instalar --user flecha e etc.
Dmitry Baryshnikov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.