Menginstal paket Python gdalke dalam virualenv di Linux
GDALmenyediakan toolkit yang bagus untuk operasi terkait GEO. Namun, menginstalnya ke virtualenv di Linux bukanlah tugas sepele.
Resep ini menjelaskan, bagaimana cara melakukannya.
catatan
di sini saya menggunakan huruf kecil gdaluntuk paket Python dan huruf besar GDALuntuk sistem perpustakaan umum.
Persyaratan
- memungkinkan menggunakan pustaka osgeo (diinstal melalui
gdalpaket Python) ke dalam virtualenv
- memungkinkan menginstal di Linux Ubuntu
Metode pemasangan
Ada beberapa metode untuk instalasi. Seseorang membutuhkan kompilasi dan membutuhkan beberapa menit lagi.
Yang lain menggunakan paket paket roda pygdaldan sangat cepat. Lagi pula, untuk membuat paket roda, orang perlu membuatnya sekali dan pembuatannya tetap menyertakan langkah kompilasi.
Tentang GDALpaket dan versi
GDAL adalah pustaka umum berbasis C (++) untuk perhitungan terkait GEO.
GDAL utilitas dapat menginstal sistem secara luas yang membuat pustaka bersama tersedia, tetapi tidak menginstal paket Python itu sendiri.
GDAL datang dalam versi yang berbeda dan setiap distribusi Linux secara default menginstal versi yang berbeda.
Paket Python gdalmembutuhkan kompilasi dan tidak sepele untuk menginstal pada sistem berbasis Linux karena mengharapkan beberapa variabel lingkungan yang akan ditetapkan. Ini membuat instalasi menjadi virtualenv lebih sulit.
Setiap gdalversi mungkin menggunakan versi yang berbeda GDALdan akan gagal menginstal jika versi yang diharapkan tidak ada dalam sistem.
Paket python pygdaladalah alternatif gdal, yang menginstal hal yang persis sama gdal, tetapi melakukannya dengan cara yang jauh lebih ramah virtual.
pygdaldatang dalam versi yang mencerminkan GDALversi terkait . Jadi memiliki GDAL
versi 1.10.1 dalam sistem Anda harus menginstal pygdalversi 1.10.1.
Paket python gdal(dan juga pygdal) menggunakan paket root python bernama
osgeodan memiliki set submodules, satu sedang osgeo.gdal.
Jika diperlukan, selain versi default GDALdapat diinstal dan digunakan. Ini di luar cakupan deskripsi ini.
Paket roda dapat dikompilasi silang, ini juga di luar jangkauan.
Menginstal GDALke sistem
Karena pygdalmemerlukan GDALpustaka bersama untuk hadir, kita harus menginstalnya terlebih dahulu.
Dengan asumsi GDALbelum terinstal, panggilan gdal-configakan mengeluh dan memberi Anda petunjuk bagaimana menindaklanjuti:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Ikuti petunjuknya dan pasang:
$ sudo apt-get install libgdal-dev
Setiap distribusi dapat menggunakan versi yang berbeda dari GDAL. Untuk mengetahui yang kami gunakan:
$ gdal-config --version
1.10.1
Sekarang Anda tahu, GDALsudah terinstal dan versinya adalah 1.10.1 (versinya bisa bervariasi).
Instal pygdaldari paket sumber (memerlukan kompilasi)
Saat pygdalini disediakan hanya dalam paket tar.gz, yang berisi sumber paket dan membutuhkan kompilasi.
Dengan asumsi, versi GDALis 1.10.1dan virtualenv kami sudah diaktifkan:
$ pip install pygdal==1.10.1
Mungkin perlu beberapa saat untuk menyelesaikannya, apakah itu perlu numpy, yang mungkin juga memerlukan kompilasi. Tunggu saja.
Periksa, sudah terpasang:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Mulai sekarang, Anda dapat menggunakan paket osgeo dalam kode Python yang Anda inginkan dengan cara yang persis sama seolah-olah Anda akan menginstalnya dengan gdalpaket Python.
Membuat paket roda untuk pygdal
Perhatikan, paket roda itu harus dibuat untuk arsitektur yang persis sama, yaitu harus cocok:
- Arsitektur CPU
- OS (Linux / Windows)
Dalam kasus kami, itu juga harus cocok dengan versi yang GDALdiinstal.
Langkah-langkah berikut dapat dilakukan dalam virtualenv atau tidak, sesuka Anda.
Pertama, pastikan, paket roda diinstal:
$ pip install wheel
Dengan asumsi, Anda telah GDALmenginstal dan memiliki versi 1.10.1:
$ pip wheel pygdal==1.10.1.0
dan tunggu, sampai selesai.
Setelah ini, Anda akan menemukan ruang kemudi subdirektori dan berisi paket dengan ekstensi `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Instal pygdaldari paket roda
Instalasi dari paket berformat roda jauh lebih cepat (satu detik dibandingkan menit), karena tidak memerlukan kompilasi.
Catatan, direktori dengan paket roda dapat memiliki nama apa pun, kami hanya akan menggunakan nama ruang kemudi.
Aktifkan virtualenv terlebih dahulu.
Pastikan, Anda memiliki dalam direktori ruang kemudi kedua paket roda yang diperlukan (untuk pygdaldan numpy).
Pastikan, GDALdiinstal dan versi cocok dengan versi pygdal.
Instal pygdaldari paket roda:
$ pip install pygdal==1.10.1.0 -f wheelhouse
Ruang kemudi -f akan menunjuk ke direktori dengan file whl.
Tidak perlu menginstal numpy, itu akan diinstal secara otomatis.