Menginstal GDAL dalam Python pada Windows 7?

9

Saya mengalami masalah menginstal pustaka gdal untuk python. Saya menggunakan Windows 7 dan memiliki WinPython 2.7.9.2 yang menjalankan Python 2.7.9. Saya ingin menggunakan gdal + Python untuk manipulasi raster.

Saya telah membaca bahwa PIP adalah cara yang disukai untuk menginstal paket di windows dan itu dikemas dengan Python 2.7.9. Saya telah mengedit variabel lingkungan PATH saya untuk memasukkan pip dan python:

;c:\~\WinPython-32bit-2.7.9.2\python-2.7.9\Scripts\;c:\~WinPython-32bit-2.7.9.2\python-2.7.9\

jadi saya sekarang dapat menjalankan kedua python dan pip langsung dari command prompt.

Kesalahan muncul saat saya mengetik

c:\>pip install gdal

pemberian yang mana:

C:\~\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
extensions/gdal_wrap.cpp(2855) : fatal error C1083: Cannot open include file: 'cpl_port.h': No such file or directory
error: command 'C:\\~\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

Jadi ternyata sesuatu yang disebut 'cpl_port.h' tidak ada. Ini juga dijelaskan dalam pertanyaan ini di mana disarankan bahwa file header tidak dapat ditemukan. Solusi yang disediakan dalam utas itu berbasis LINUX dan tidak kompatibel dengan Windows saya.

Saya tidak yakin bagaimana melanjutkan dari sini, jadi haruskah saya melepaskan PIP dan mencoba rute lain?

Saya telah memverifikasi bahwa PIP berfungsi dengan menginstal beberapa paket lain, jadi masalahnya sepertinya ada pada gdal.

Hans Roelofsen
sumber
Alur kerja yang sederhana adalah menginstal Python dari penginstal msi Windows dan GDAL + python bindings juga dari penginstal msi yang dapat diunduh dari gisinternals.com.
user30184
Hai, terima kasih atas komentar Anda. Bisakah Anda sedikit menjelaskan? Saya sering mendengar istilah 'binding', tetapi saya tidak mengerti apa yang Anda maksud di sana. Demikian juga, apa itu penginstal MSI? Pikiran bahwa saya sudah menginstal Python dan lebih baik tidak menginstalnya lagi jika saya bisa menghindarinya.
Hans Roelofsen
MSI adalah singkatan dari Microsoft installer. Untuk pengguna itu adalah file yang diakhiri dengan .msi yang Anda klik dua kali dan kemudian mulai menginstal. Dengan binding Anda dapat memanggil kode GDAL yang ditulis dalam C / C ++ dari Python files.opensuse.org/opensuse/en/e/eb/… . Jika Anda sudah menginstal Python, Anda bisa menggunakannya.
user30184

Jawaban:

4

GDAL sebenarnya adalah seperangkat toos yang ditulis dalam C. Karena itu perlu dikompilasi sebelum instalasi, dan Windows tidak datang dengan kompiler C. Karena itu, taruhan termudah Anda adalah mengunduh dan menginstal binari perpustakaan yang telah dikompilasi sebelumnya. Tempat termudah untuk mendapatkan binari adalah dari Christoph Gholke yang menawarkan paket perpustakaan GDAL lengkap serta ikatan Python.

Akhirnya, jika Anda ingin bermain dengan memodifikasi raster di Python, saya sangat merekomendasikan untuk menginstal rasterio(biner juga tersedia dari Gholke ) yang merupakan pembungkus yang jauh lebih baik di sekitar GDAL dan mungkin jauh lebih mudah digunakan.

om_henners
sumber
Hai, terima kasih telah meluangkan waktu untuk menjawab. Saya akan memeriksa balasan Anda besok, sudah larut di sini. Bersulang!
Hans Roelofsen
Bagaimana instalasi gdal tahu di mana saya menginstal binari?
Školstvo