Cài đặt GDAL với Python trên windows?


92

Bất cứ ai cũng có thể giải thích cách cài đặt GDAL / OGR với Python trên Windows?

Tôi có Windows Vista và tôi đã thử theo dõi thông tin trên trang web và dường như nó không liên kết các tệp exe với tôi.

Ai đó có thể mô tả quá trình, bao gồm các liên kết đến các tập tin / thư mục tôi sẽ cần?

Bây giờ tôi đã thử chạy thiết lập gdal với minGW, nhưng điều này cũng đã thất bại:

GDAL_FAIL

Câu trả lời:


63

Trừ khi bạn có lý do chính đáng để không, tôi chắc chắn khuyên bạn nên bắt đầu với trình cài đặt OSGeo4W , có thể cài đặt nhiều phiên bản GDAL khác nhau và các ràng buộc Python có liên quan của chúng. Nó hoạt động tuyệt vời và đơn giản hóa đáng kể câu chuyện triển khai Windows. Cụ thể, bạn sẽ muốn cài đặt pkg-gdal-python , nằm trong 'Libs' trong cây trình cài đặt.


8
Vì vậy, tôi đã sử dụng trình cài đặt OSGeo4W để cài đặt gdal và sau đó thử giao diện dòng lệnh nhỏ của họ, nhưng vẫn không thể thực hiện được python để làm như sau: nhập gdal
GuidoS

7
OSGEO4W cài đặt phiên bản Python của riêng nó dưới gốc OSGEO4W. Để sử dụng Python bao gồm gdal và tất cả các mô-đun OSGEO khác, hãy mở shell OSGEO4W> tệp chương trình> osgeo4w. Khởi chạy Python hoặc chạy tập lệnh Python từ đó.
DavidF

8
Hãy thửfrom osgeo import gdal
DavidF

3
@scw vui lòng xem xét đưa ra các ví dụ từ các ý kiến ​​vào câu trả lời của bạn. Nó sẽ giúp dễ dàng ghép các thông tin liên quan lại với nhau thành một tổng thể gắn kết (một phần vì có thể bảo toàn định dạng mã). Bỏ phiếu cho các ý kiến ​​bạn sử dụng làm phương tiện ghi có và thừa nhận nguồn.
matt wilkie

6
Có cách nào để sử dụng "từ osgeo nhập gdal" từ vỏ python chính của tôi thay vì sử dụng shell của OSGEO không?
Alexis Eggermont

58

Bạn có thể tải xuống gói bánh xe GDAL từ các Binaries không chính thức của Christoph Gohlke cho Gói mở rộng Python .

Nó có thể được cài đặt từ cmd.exe bằng cách sử dụng một cái gì đó như:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Bạn nên cài đặt NumPy từ cùng một nơi bằng cách sử dụng lệnh tương tự)

Mặc dù gói không được xây dựng bởi các nhà phát triển OSGeo hoặc GDAL, nhưng đây là bản phân phối chất lượng cao với sự hỗ trợ cho các phiên bản GDAL mới nhất được biên dịch cho các phiên bản Python 32 bit và 64 bit. Không có thư viện bên ngoài cần phải được thêm hoặc quản lý!

Cập nhật nó thậm chí đặt GDAL_DATAbiến môi trường, nếu nó không được đặt và bao gồm PostgreSQLtrình điều khiển để đọc dữ liệu từ PostGIS.


2
+1 Tôi đã tìm thấy trang đó một nguồn phân phối Python vô giá cho Windows 64 bit
geographika

1
Tôi gặp khó khăn với trình cài đặt này hoạt động vì không phát hiện được cài đặt python của tôi. Tôi đã cài đặt python26 và python27 C:/Python2Xnhưng không thể tìm thấy .... không có gì! Chọn 64 bit thay vì 32 ....
djq

Điều này làm việc với tôi dễ dàng hơn nhiều so với câu trả lời được chấp nhận vì tôi không muốn cài đặt Python và Numpy khác.
Ahmed Fasih

Những dòng này bây giờ được bao gồm với cài đặt.
Barbarossa

cảm ơn @Barbarossa, tôi đã cập nhật câu trả lời này để phản ánh trạng thái hiện tại của gói hàng.
Mike T

15

Một tùy chọn khác là cài đặt bản phân phối Anaconda Python có các gói cho GDAL. Nếu bạn sẽ thực hiện nhiều công việc bằng cách sử dụng GDAL với các gói Python khác (scipy, pandas, scikit-learn, v.v.), đây có thể là một lựa chọn tốt hơn so với OSGeo4W. Mặt khác, nếu bạn muốn sử dụng Python kết hợp với một số gói viễn thám và viễn thám nguồn mở (GRASS, QGIS, v.v.), OSGeo4W có lẽ là lựa chọn tốt hơn.

Bạn có thể nhận bản phân phối Anaconda đầy đủ từ: https : //www.cContuum.io/doads chứa rất nhiều gói Python nhằm vào 'khoa học dữ liệu' hoặc cài đặt tối thiểu từ http://conda.pydata.org/miniconda. html

Là một phần của quá trình cài đặt, nó sẽ nhắc bạn thêm vào đường dẫn chính (vì vậy nó có sẵn từ bất kỳ thiết bị đầu cuối nào).

Sau khi thiết lập GDAL có thể được cài đặt vào môi trường mới bằng cách sử dụng:

conda create -n gdal_env -c conda-forge gdal

Sau đó kích hoạt nó như hiển thị khi lệnh kết thúc. Nên cài đặt vào một môi trường mới để tránh xung đột với các gói khác và đảm bảo các biến môi trường được yêu cầu được đặt.

Tôi đã đề nghị cài đặt từ kênh conda-forge ( https://conda-forge.github.io/ ) vì họ rất tích cực trong việc cập nhật các bản dựng GDAL của họ và đảm bảo rằng họ làm việc với rất nhiều thư viện.

Sau khi cài đặt các gói có thể được cập nhật từ trong môi trường bằng cách sử dụng:

conda update gdal

1
Đây chắc chắn là phương pháp dễ nhất, đặc biệt nếu bạn có kế hoạch cài đặt các gói Python phức tạp khác (ví dụ: scikit-learn, numpy)
bgordon

1
Điều đó thật tuyệt! Đặc biệt b / c bạn có thể chạy nó thông qua dòng lệnh cũng như thông qua python.
mmann1123

Người ta cũng có thể cài đặt nó bằng cách vào "Môi trường" và chọn môi trường mà người đó muốn sử dụng. Sau đó tìm kiếm "gdal" trong "Tất cả" các gói
Goncalo Peres


9

Tôi thấy OSGEO4W là một giải pháp kém vì nó tạo ra cả một vũ trụ song song, gần giống như một máy ảo. Tôi đã có thể cài đặt GDAL và sử dụng nó trong python theo các bước được nêu ở đây (đây là liên kết được cung cấp bởi @ sys49152).

Nó sẽ gửi bạn đến gisi INTERNals.com. Lấy liên kết đến "bản phát hành ổn định" để truy cập : http : //www.gisi INTERNals.com/release.php

Bây giờ bạn phải chọn giữa 32 và 64 bit và các phiên bản trình biên dịch Microsoft Visual C ++ khác nhau. Lưu ý rằng điều này phải phù hợp với phiên bản python của bạn, không phải hệ điều hành của bạn. Trong trường hợp của tôi, tôi có một cửa sổ 64 bit, nhưng một con trăn 32 bit 2.7 (được vận chuyển cùng với ArcGIS).

Để xem những gì bạn có, bạn có thể chạy python trên dòng lệnh và một thông báo như thế này:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Vì vậy, tôi cần sử dụng "phát hành-1500"

Tôi đã chọn: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(số phiên bản xây dựng sẽ thay đổi theo thời gian)

Lần đầu tiên tôi tải xuống và cài đặt "Trình cài đặt chung cho các thành phần cốt lõi GDAL": gdal-111-1500-core.msi

Và thêm đường dẫn và các biến khác như được mô tả ở đây .

Thêm vào đường dẫn: C:\Program Files (x86)\GDAL Tạo các biến môi trường: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Sau đó, tôi đã tải xuống và cài đặt mô-đun python cho python 2.7 GDAL-1.11.3.win32-py2.7.msi

Và sau đó, trong python tôi đã có thể làm

from osgeo import gdal
ds = gdal.Open('file.tif')

Vân vân.


Tài liệu độc đáo từng bước. Cảm ơn bạn.
Cotton.Rockwood

6

Tôi biết Trình cài đặt OSGEO đã được đề cập, nhưng như GuidoS nói rằng nó không hoạt động trừ khi bạn sử dụng trình điều khiển osgeow, điều này rất tốt và bảnh bao nếu tất cả những gì bạn đang làm là trăn cơ bản. Có thể nếu bạn không, bạn phải cài đặt lại gói và sau đó phải chạy ứng dụng / plugin từ thư mục đó hoặc phải biên dịch tất cả các phụ thuộc cho gdal và cài đặt lại.

Những gì làm việc cho tôi là:

  • Trong PyDev / Eclipse (không phải IDE chính của tôi), tôi thêm danh sách các thư viện vào trình thông dịch python mặc định
  • Sử dụng bảng điều khiển tích hợp để chạy các tệp

3
Bạn có thể đặt python o4w làm python mặc định của hệ thống, ví dụ: làm cho nó có sẵn cho mọi thứ, bằng cách thêm nó vào sổ đăng ký hệ thống. Có một kịch bản python để thực hiện điều này trên các cửa sổ 32 bit tại trac.osgeo.org/osgeo4w/ticket/114 (phải thêm 64 bit bằng tay).
matt wilkie

5

Một tùy chọn hiện tại, rất dễ dàng khác để tải xuống các tệp nhị phân gdal là tại trang web của Christoph Gohlke

Cảm ơn bài viết trên blog tại http://fuzzytolerance.info/code/postgis-raster-ftw/ cho liên kết.


Liên kết đến bài đăng trên blog dường như đã chết ..
radek

đã cập nhật ở đây nhưng tôi không chắc nó hữu ích như thế nào nữa fuzzytolerance.info/blog/2010/10/25/ mẹo
snorris

Liên kết đó cũng đã chết.
Joel Bennett

5

Nó thực sự không khó để làm. Tôi đã biên dịch nó nhiều lần trước khi sử dụng Visual Studio mà không gặp vấn đề gì. Chỉ cần làm theo các hướng dẫn ở đây: liên kết văn bản .

Điều này khá đơn giản, chỉ cần đọc qua makefile.vc được ghi chép tốt và thiết lập các thư mục phù hợp, đặc biệt là thư mục Python. Khi nó được xây dựng, bạn nên xây dựng một mô-đun Python để sau đó bạn có thể sao chép vào bản cài đặt Python của mình, điều mà tôi luôn thực hiện một cách nhanh chóng, nhưng có lẽ có một phương pháp khủng bố hơn.


5

Hai câu trả lời hàng đầu của @SCW và @Mike Toews là tuyệt vời. Trang web được Mike liệt kê là dành cho các tệp nhị phân không chính thức - rất hữu ích khi không có sẵn 64 bit GDAL (theo thời gian anh ta viết thư trả lời), nhưng hiện tại nó đã được một thời gian. Tôi đã thêm câu trả lời thay thế này vào đây, mặc dù tôi đã đề cập đến nó nhiều lần, nó vẫn tiếp tục cắt xén và wiki này có thể là một nơi tốt hơn để đặt nó.

Nếu bạn muốn cài đặt chỉ các nhị phân GDAL cho Python trên máy tính windows, tôi sẽ nhận các trình cài đặt từ Trang web thực tập GIS tuyệt vời . Trang web này được liên kết từ trang Binaries GDAL / OGR chính thức . Điều này cho phép bạn truy cập vào GDAL thông qua cài đặt Python bình thường mà không cần sử dụng trình bao osgeow. Các tệp nhị phân ở đây thường xuyên được duy trì và biên dịch dựa trên nhiều phiên bản Visual Studio (vì vậy hãy chọn tùy thuộc vào thời gian chạy bạn đã cài đặt).


Hoàn toàn không có vấn đề gì khi cài đặt một số thời gian chạy MSVC trên cùng một máy tính. Nếu bạn cần các trình điều khiển đặc biệt như ECW và MrSid, lưu ý rằng có các cơ hội khác nhau được biên soạn theo các biểu đồ MSVC khác nhau. Chỉ cần theo informationliên kết và xem sự khác biệt.
AndreJ


2

Tôi sử dụng FWTools trong Windows XP. Nó bao gồm cài đặt Python với các thư viện GDAL. Sau khi cài đặt, chỉ cần chạy các tập lệnh Python của bạn từ Shell FWTools .


1
FWTools là một công cụ tốt vào thời điểm đó, nhưng không có bản cập nhật kể từ đó. Tôi đề nghị chuyển sang gisi INTERNlas vẫn đang được duy trì tích cực.
AndreJ


0

Tôi đã có nhiều vấn đề ngày hôm nay, nhưng bây giờ nó đã được giải quyết, và tôi đặt bản ghi âm của mình ở đây,

https://gist.github.com/mobilestack/8749261

về cơ bản, tôi đề cập đến câu trả lời được chấp nhận của câu hỏi này

https://stackoverflow.com/questions/6009506/unable-to-install-python-and-gdal-dll-load-fails


1
Vui lòng tóm tắt khái niệm chính ở đây, nếu không câu trả lời này có thể trở nên vô dụng khi các liên kết bị hỏng.
underdark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.