Bagaimana cara menggunakan paket pihak ketiga dalam plugin QGIS?

9

Saya sedang mengembangkan plugin QGIS dan saya ingin menggunakan paket panah atau permintaan karena saya terbiasa memanipulasi tanggal dan REST API.

QGIS tidak datang dengan paket-paket ini (kurang panah), jadi ketika saya mencoba mengakses plugin saya di QGIS saya punya:

"ImportError: Tidak ada modul bernama panah"

Bagaimana saya bisa menentukan persyaratan saya?

Keberanian
sumber
3
bungkus telur modul dengan plugin ... atau potong kesalahan dan beri tahu pengguna untuk menginstal paket yang hilang
Luigi Pirelli
R memiliki paket, Python memiliki modul dan jika Anda menggunakan versi Windows, mereka sulit untuk diinstal (terutama dengan versi QGIS mandiri, lihat Bagaimana menginstal perpustakaan python pihak ke-3 untuk QGIS pada Windows? )
gen
2
Di Boundless plugis Anda dapat menemukan cara untuk mengemas modul dalam plugin yang sama. mis. baca kode ini github.com/boundlessgeo/qgis-geoserver-plugin
Luigi Pirelli
@gene python memiliki paket dan modul - stackoverflow.com/questions/7948494/…
user2856
1
@LuigiPirelli jika Anda menemukan waktu, alangkah baiknya jika Anda bisa merangkum langkah-langkah yang diperlukan untuk mengemas modul dalam sebuah plugin dalam menjawab pertanyaan ini. Terima kasih banyak!
underdark

Jawaban:

2

Terima kasih atas sumber dayanya. Saya mencoba menggunakan paver tetapi tampaknya agak menyakitkan untuk diterapkan, untuk pengembang yang tidak ahli, bukan?

Selain itu, secara default, pip tidak diinstal bahkan dengan installer OSGeo4W. Bisakah Anda paver skrip bekerja tanpa itu?

Untuk menginstalnya, saya mengikuti instruksi ini dan saya menghasilkan file batch (lihat di bawah) tetapi tidak menyelesaikan masalah hak admin:

@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
Keberanian
sumber
2
Untuk menginstal ke direktori python pengguna (tidak diperlukan hak admin) Anda dapat menambahkan --userberalih ke perintah Anda: pip install --user panah dan lain
Dmitry Baryshnikov