Wie verwende ich ein Paket eines Drittanbieters in einem QGIS-Plugin?

9

Ich entwickle ein QGIS-Plugin und möchte Pfeil- oder Anforderungspakete verwenden, um Datumsangaben und REST-APIs zu bearbeiten.

QGIS wird nicht mit diesen Paketen geliefert (mit weniger Pfeil). Wenn ich also versuche, auf mein Plugin in QGIS zuzugreifen, habe ich:

"ImportError: Kein Modul namens Pfeil"

Wie kann ich meine Anforderungen spezifizieren?

Eingeweide
quelle
3
Packen Sie das Ei der Module mit dem Plugin ... oder fangen Sie den Fehler ab und benachrichtigen Sie den Benutzer, um die fehlenden Pakete zu installieren
Luigi Pirelli
R hat Pakete, Python hat Module und wenn Sie eine Windows-Version verwenden, sind diese schwierig zu installieren (insbesondere mit der eigenständigen QGIS-Version, siehe Installieren von Python-Bibliotheken von Drittanbietern für QGIS unter Windows? )
Gen
2
In Boundless Plugis finden Sie eine Möglichkeit, Module im selben Plugin zu verpacken. Lesen Sie beispielsweise diesen Code github.com/boundlessgeo/qgis-geoserver-plugin
Luigi Pirelli
@gene Python hat Pakete und Module - stackoverflow.com/questions/7948494/…
user2856
1
@LuigiPirelli Wenn Sie die Zeit finden, wäre es großartig, wenn Sie die notwendigen Schritte zum Packen eines Moduls in ein Plugin in einer Antwort auf diese Frage zusammenfassen könnten. Vielen Dank!
Underdark

Antworten:

2

Danke für die Ressourcen. Ich habe versucht, Fertiger zu verwenden, aber die Implementierung scheint für einen nicht erfahrenen Entwickler etwas schmerzhaft zu sein, nicht wahr?

Darüber hinaus wird pip standardmäßig auch mit dem OSGeo4W-Installationsprogramm nicht installiert. Könnten Sie das Fertiger-Skript ohne es funktionieren?

Um es zu installieren, habe ich diese Anweisungen befolgt und eine Batch-Datei erstellt (siehe unten), aber die Probleme mit den Administratorrechten nicht gelöst:

@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
Eingeweide
quelle
2
Um in das Benutzer-Python-Verzeichnis zu installieren (keine Administratorrechte erforderlich), können Sie --userIhrem Befehl einen Schalter hinzufügen : pip install - Benutzerpfeil usw.
Dmitry Baryshnikov