Tôi đang rách tóc ra cố gắng cài đặt Spatialite cho GeoDjango!Cài đặt Spatialite cho python (GeoDjango) trên OS X
Tôi đã sử dụng Homebrew, nó thường dễ dàng và thuận tiện vì vậy ban đầu tôi đã cố gắng theo dõi Homebrew instructions cho GeoDjango.
Nhưng điều này dừng việc cài đặt bất kỳ cơ sở dữ liệu nào, ví dụ: Spatialite. Bước tiếp theo là thử và cài đặt Spatialite, nhưng không có hướng dẫn cụ thể về Homebrew được cung cấp bởi tài liệu Django.
Tôi tìm thấy this tutorial trông hoàn hảo - cài đặt Homebrew và virtualenv thân thiện với Spatialite cho GeoDjango.
Nhưng nó không hoạt động ... có vẻ như pysqlite
của tôi được liên kết với phiên bản SQLite không được kích hoạt không gian đi kèm với OS X, thay vì không gian được cài đặt từ Homebrew, tôi nhận được lỗi này khi Django cố gắng kết nối với db:
"Thư viện pysqlite không hỗ trợ tải mở rộng C. Cả SQLite và pysqlite phải được định cấu hình để cho phép tải tiện ích mở rộng sử dụng SpatiaLite".
Tác giả của pysqlite chưa trả lời my pleas for help on Github và tôi chưa tìm thấy bất kỳ điều gì thông qua Google.
Vì vậy, tôi đã quay lại bảng vẽ và quyết định theo dõi "Mac OS X-specific instructions" trong tài liệu GeoDjango ... bằng cách cài đặt các lib địa lý khác nhau từ các gói nhị phân KyngChaos.
Tài liệu nói "Cài đặt các gói theo thứ tự chúng được liệt kê ở trên" nhưng tôi thấy tôi không thể cài đặt UnixImageIO
mà không cài đặt PROJ
trước tiên. Liên kết trong tài liệu để tải xuống các tệp nhị phân Spatialite (http://www.gaia-gis.it/spatialite-2.3.1/binaries.html) bị hỏng nên tôi đã sử dụng "Công cụ Spatialite v4.1" từ KyngChaos thay thế.
Tiến hành các bước tiếp theo tôi nhận được lỗi này:
$ spatialite geodjango.db "SELECT InitSpatialMetaData();"
SQLite header and source version mismatch
2013-10-17 12:57:35 c78be6d786c19073b3a6730dfe3fb1be54f5657a
2013-09-03 17:11:13 7dd4968f235d6e1ca9547cda9cf3bd570e1609ef
Không thực sự chắc chắn có chuyện gì vậy vào thời điểm này.
Có ai đó here on SO người đã đi con đường KyngChaos và chỉ kết thúc với cùng "Cả hai SQLite và pysqlite phải được cấu hình để cho phép tải các phần mở rộng" lỗi tôi nhận được từ con đường Homebrew anyway.
tôi thấy this ticket #17756 để thêm pyspatialite
hỗ trợ cho Django - pyspatialite
được coi là một cách dễ dàng hơn để pip install
tất cả mọi thứ nhưng tiếc là nó không hoạt động hoặc (xem bình luận về phía dưới cùng của vé).
Tôi hơi miễn cưỡng khi bắt đầu cố gắng xây dựng mọi thứ từ nguồn bằng tay vì có vẻ như tôi sẽ gặp phải vấn đề tương tự một lần nữa, nhưng dành hàng giờ Googling để biết thông tin về lỗi trình biên dịch, cờ phép thuật và đường dẫn vv trên đường đi.
Tôi sắp sẵn sàng từ bỏ và chỉ sử dụng Postgres/PostGIS.
cảm ơn nhưng bạn cần đọc mọi thứ trong câu hỏi của tôi, vấn đề của tôi phức tạp hơn là chỉ theo tài liệu Django (mà tôi đã thực hiện) – Anentropic
Tôi đã bỏ lỡ phần nào, xin lỗi vì câu trả lời chưa hoàn chỉnh – MZaragoza
Tôi đã xây dựng pysqlite với hỗ trợ mở rộng, nhưng có vẻ như nó được liên kết với hệ thống SQLite của tôi thay vì SQLite đã được kích hoạt GIS mà tôi đã cài đặt qua Homebrew ... vấn đề chi tiết tại đây https://github.com/ ghaering/pysqlite/issues/60 – Anentropic