Cài đặt gói Python gdal
vào virualenv trên Linux
GDAL
cung cấp bộ công cụ đẹp cho các hoạt động liên quan đến GEO. Tuy nhiên, cài đặt nó vào virtualenv trên Linux không phải là nhiệm vụ tầm thường.
Công thức này mô tả, làm thế nào để làm điều đó.
Ghi chú
Ở đây tôi sử dụng chữ thường gdal
cho gói Python và chữ hoa GDAL
cho thư viện toàn hệ thống.
Yêu cầu
- cho phép sử dụng các thư viện osgeo (được cài đặt qua
gdal
gói Python) vào virtualenv
- cho phép cài đặt trên Linux Ubuntu
Phương pháp cài đặt
Có nhiều phương pháp để cài đặt. Một yêu cầu biên dịch và mất thêm vài phút.
Khác là sử dụng gói bánh xe của pygdal
gói và rất nhanh chóng. Dù sao, để tạo gói bánh xe người ta cần tạo một lần và việc tạo bao gồm cả bước biên dịch.
Về GDAL
gói và phiên bản
GDAL
là thư viện dựa trên C (++) chung cho các tính toán liên quan đến GEO.
GDAL
các tiện ích có thể được cài đặt trên toàn hệ thống những gì làm cho các thư viện chia sẻ có sẵn, nhưng không tự cài đặt gói Python.
GDAL
có các phiên bản khác nhau và mỗi bản phân phối Linux có thể cài đặt phiên bản khác nhau theo mặc định.
Gói Python gdal
yêu cầu biên dịch và không phải là nhỏ để cài đặt trên các hệ thống dựa trên Linux vì nó dự kiến sẽ có một vài biến môi trường được đặt. Điều này làm cho việc cài đặt vào virtualenv trở nên khó khăn hơn.
Mỗi gdal
phiên bản có thể giả định phiên bản khác nhau GDAL
và sẽ không cài đặt nếu phiên bản dự kiến không có trong hệ thống.
Gói Python pygdal
là lựa chọn thay thế gdal
, cài đặt chính xác các công cụ tương tự gdal
, nhưng thực hiện theo cách thân thiện với virtualenv hơn nhiều.
pygdal
có các phiên bản phản ánh GDAL
phiên bản liên quan . Vì vậy, có GDAL
phiên bản 1.10.1 trong hệ thống, bạn sẽ cài đặt pygdal
phiên bản 1.10.1.
Gói Python gdal
(cũng như pygdal
) sử dụng gói python gốc có tên
osgeo
và có tập hợp các mô hình con, một osgeo.gdal
.
Nếu cần, ngoài các phiên bản mặc định GDAL
có thể được cài đặt và sử dụng. Đây là ngoài phạm vi của mô tả này.
Gói bánh xe có thể được biên dịch chéo, điều này cũng nằm ngoài phạm vi.
Cài đặt GDAL
vào hệ thống
Khi pygdal
yêu cầu GDAL
các thư viện chia sẻ phải có mặt, chúng ta phải cài đặt chúng trước.
Giả sử GDAL
chưa được cài đặt, cuộc gọi gdal-config
sẽ khiếu nại và cung cấp cho bạn một gợi ý về cách theo dõi:
$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev
Thực hiện theo gợi ý và cài đặt nó:
$ sudo apt-get install libgdal-dev
Mỗi bản phân phối có thể sử dụng phiên bản khác nhau của GDAL
. Để tìm hiểu xem chúng tôi sử dụng:
$ gdal-config --version
1.10.1
Bây giờ bạn đã biết, đã GDAL
được cài đặt và phiên bản là 1.10.1 (phiên bản có thể thay đổi).
Cài đặt pygdal
từ gói nguồn (yêu cầu biên dịch)
Hiện tại pygdal
chỉ được cung cấp trong gói tar.gz, chứa các nguồn gói và yêu cầu biên dịch.
Giả sử, các phiên bản của GDAL
là 1.10.1
và virtualenv của chúng tôi đã được kích hoạt:
$ pip install pygdal==1.10.1
Nó có thể mất một thời gian để hoàn thành, là nó cần numpy, cũng có thể yêu cầu một số biên dịch. Đợi đấy.
Kiểm tra, nó được cài đặt:
$ pip freeze|grep pygdal
pygdal==1.10.1.0
Từ giờ trở đi, bạn có thể sử dụng gói osgeo trong mã Python của mình theo cách bạn muốn theo cách chính xác giống như khi bạn cài đặt nó bằng gdal
gói Python.
Tạo gói bánh xe cho pygdal
Lưu ý, các gói bánh xe đó phải được tạo cho cùng một kiến trúc, cụ thể là phải khớp:
- Kiến trúc CPU
- Hệ điều hành (Linux / Windows)
Trong trường hợp của chúng tôi, nó cũng phải phù hợp với phiên bản GDAL
cài đặt.
Các bước sau có thể được thực hiện trong virtualenv hoặc không, như bạn muốn.
Trước tiên, hãy chắc chắn, gói bánh xe được cài đặt:
$ pip install wheel
Giả sử, bạn đã GDAL
cài đặt và nó có phiên bản 1.10.1:
$ pip wheel pygdal==1.10.1.0
và chờ đợi, cho đến khi nó hoàn thành.
Sau này, bạn sẽ tìm thấy buồng lái thư mục con và nó sẽ chứa các gói có phần mở rộng `whl`:
$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl
Cài đặt pygdal
từ gói bánh xe
Cài đặt từ các gói định dạng bánh xe nhanh hơn nhiều (một giây so với phút), vì nó không yêu cầu biên dịch.
Lưu ý, thư mục đó với các gói bánh xe có thể có bất kỳ tên nào, chúng tôi sẽ chỉ sử dụng tên bánh xe.
Kích hoạt virtualenv trước.
Đảm bảo, bạn có trong thư mục wheelhouse cả hai gói bánh xe cần thiết (cho pygdal
và numpy
).
Đảm bảo, GDAL
được cài đặt và phiên bản phù hợp với phiên bản của pygdal
.
Cài đặt pygdal
từ gói bánh xe:
$ pip install pygdal==1.10.1.0 -f wheelhouse
Wheelf -f sẽ trỏ đến thư mục với các tập tin whl.
Không cần phải cài đặt numpy
, nó sẽ được cài đặt tự động.