Liên kết QGIS với Anaconda Python Phân phối: Spyder, iPython Notebook, pip, scikit-learn


20

Tôi có Anaconda là bản phân phối Python chính của mình và muốn định tuyến các tập lệnh QGIS liên quan đến Python thông qua nó. Với Anaconda, tôi có Spyder, có thể dễ dàng cài đặt các gói với pip và có thể khởi chạy trình duyệt web iPython Notebook cho cả chia sẻ màn hình và lưu trữ mã mà tôi dự định thực hiện trên dữ liệu của mình trước, trong và sau khi thao tác trong QGIS (gọi các gói như scikit-learn).

Tôi không thể tìm thấy bất kỳ hữu ích ở bất cứ nơi nào về cách liên kết hai.

Tôi đang sử dụng Windows 8.1, nhưng nếu điều này chỉ có thể được thực hiện trong Linux, tôi có thể thử thiết lập nó trên máy tính để bàn đang chạy Mint 13. Tôi chỉ cần có webcam và mic, tìm thấy trên máy tính xách tay của mình nhưng không máy tính để bàn tại thời điểm này, cho một bản demo tương tác và phỏng vấn vào thứ ba.


2
Trên Windows, nếu bạn đang sử dụng OSGeo4W cho trình cài đặt của mình, bạn cần tiếp tục sử dụng cài đặt Python của nó, đây là những gì mà QGIS liên kết để tạo phiên bản trình thông dịch Python bên trong của nó. Bạn có thể sử dụng các bản phân phối Python khác, nhưng bạn cũng cần phải tự biên dịch QGIS từ nguồn, điều đó cũng có nghĩa là bất kỳ phụ thuộc nào, như các mô-đun được biên dịch Python C (QScintilla, v.v.), cũng cần được xây dựng dựa trên cài đặt Python đó. Nói cách khác, có thể khó xây dựng từ nguồn bằng OSGeo4W cho các phụ thuộc, đồng thời sử dụng Python khác với OSGeo4W.
dakcarto

bạn có ý nghĩa gì đối với "làm thế nào để liên kết hai"? trao đổi dữ liệu với QGIS không yêu cầu tích hợp python chặt chẽ. Sẽ rất hữu ích khi có QGIS trong anaconda env, nhưng không đơn giản chút nào khi thiết lập tất cả các phụ thuộc của trăn anaconda bên trong OSGeo4W env.
Luigi Pirelli

Đây là một câu hỏi rất phù hợp cho QGIS trên Windows. Bản phân phối Python đi kèm với OSGeo4W có nhiều mô-đun lỗi thời (ví dụ: numpy, scipy) và có một số mô-đun yêu cầu biên dịch và / hoặc liên kết (netCDF4, rasterio) pipkhông thể làm - nhưng condacó thể. Anaconda có công thức để xây dựng gdalvà nhiều thứ khác, vì vậy tôi tự hỏi có bao nhiêu sự phụ thuộc của QGIS không thể được cung cấp bởi Anaconda?
j08lue

Trên Linux, biến Python Anaconda của bạn thành Python mặc định có thể giúp ( export PATH="/path/to/anaconda/bin:$PATH")? Hay là /usr/bin/pythonmã hóa cứng trong QGIS?
j08lue

Câu trả lời:


3

Trên Windows, tùy chọn tốt nhất của bạn hiện là sử dụng bản phân phối Python có thể được cài đặt thông qua OSGeo4W và cài đặt pipthông qua trình cài đặt OSGeo4W.

Mặc dù pipkhông thể cài đặt nhiều gói yêu cầu liên kết đến các thư viện bên ngoài (ví dụ netCDF hoặc GEOS) ngay từ chỉ mục gói, một cách giải quyết là cài đặt các nhị phân được biên dịch trước không chính thức này từ http://www.lfd.uci.edu/~gohlke/ pythonlibs / và cài đặt chúng trong OSGeo4W Shell thông qua pip install path-to-downloaded-binary.whl.

[Chỉnh sửa 2018] Bây giờ cũng có tùy chọn cài đặt QGIS thông qua (Ana) conda:

conda install -c conda-forge qgis

2

Điều này có thể được thực hiện với môi trường conda. Bạn sẽ tạo một môi trường với phiên bản python phù hợp với một lần cài đặt qgis (bạn cần đảm bảo cả cài đặt anaconda và qgis của bạn đều có cùng kiến ​​trúc). Sau đó, bạn cần thêm các đường dẫn có liên quan vào đường dẫn hệ thống môi trường và đường dẫn python. Có nhiều đường dẫn khác nhau mà qgis đưa vào đường dẫn hệ thống khi khởi động và bạn có thể xem tất cả chúng thông qua menu tùy chọn qgis iirc. Để thêm đường dẫn đến môi trường conda, hãy xem tại đây http://conda.pydata.org/docs/USE/envs.html#windows . Khi bạn kích hoạt môi trường, tất cả các đường dẫn có liên quan sẽ được thêm vào và bạn sẽ có thể nhập libs qgis.

Điều này sẽ không cho phép bạn sử dụng anaconda thông qua qgis, nhưng nó sẽ cho phép bạn sử dụng các tập lệnh qgis của bạn, vv thông qua anaconda

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.