2009-11-25 18 views
5

मुझे एक GeoDjango स्थापना स्थापित करने में समस्याएं जारी रहती हैं जो विंडोज मशीन पर बैकएंड के रूप में स्पैटियालाइट का उपयोग करती है।विंडोज़ पर चल रहे GeoDjango + Spatialite को प्राप्त करना

मैंने जिओडजैंगो इंस्टॉलर का उपयोग किया और http://www.gaia-gis.it/spatialite/binaries.html से प्रीकंपील्ड लाइब्रेरी डाउनलोड की, और उन्हें मेरी geodjango/bin निर्देशिका में छोड़ दिया।

मैंने अपने pysqlite2 स्थापना को नवीनतम संस्करण में अपग्रेड किया, ताकि एक्सटेंशन लोड हो सकें और मैंने अपनी सेटिंग्स फ़ाइल में SPATIALITE_LIBRARY_PATH निर्दिष्ट किया है।

जब मैं manage syncdb चलाने मैं निम्नलिखित आउटपुट प्राप्त

 
C:\stuff>manage.py syncdb 
SpatiaLite version ..: 2.3.1 Supported Extensions: 
     - 'VirtualShape'  [direct Shapefile access] 
     - 'VirtualText'   [direct CSV/TXT access] 
     - 'VirtualNetwork  [Dijkstra shortest path] 
     - 'RTree'    [Spatial Index - R*Tree] 
     - 'MbrCache'   [Spatial Index - MBR cache] 
     - 'VirtualFDO'   [FDO-OGR interoperability] 
     - 'SpatiaLite'   [Spatial SQL - OGC] 
PROJ.4 Rel. 4.6.1, 21 August 2008 
GEOS version 3.0.2-CAPI-1.4.2 

हालांकि, मेज मैं निम्न संदेश मिलता है के लिए सूचकांक की स्थापना जब:

 
... 
Installing custom SQL for core.LocationHint model 
updateTableTriggers: "no such module: rtree" 
... 

मैं संदेश को अनदेखा करने की कोशिश की, हालांकि मेरे मॉडल सही ढंग से नहीं बचाएंगे।

मैं थोड़ी परेशान हूं, क्योंकि स्पैटियालाइट लाइब्रेरी का उपयोग किया जाता है और "आरटीआरई" एक्सटेंशन सक्षम है, फिर भी मुझे अभी भी त्रुटि संदेश मिलता है। ऑनलाइन उपलब्ध इस त्रुटि के बारे में अधिक जानकारी नहीं है; मुझे sqlite.org/rtree.html पर आरटीआर दस्तावेज़ीकरण मिला, हालांकि मैं इस धारणा के तहत था कि यह पहले से ही स्थानिक में शामिल है क्योंकि यह "समर्थित एक्सटेंशन" के तहत सूची है।

क्या मुझे वास्तव में अपनी खुद की स्क्लाइट लाइब्रेरी संकलित करने की आवश्यकता है? क्या कोई एक .dll प्रदान कर सकता है जिसमें पहले से ही आरटीआई शामिल है? क्या मैं कुछ पूरी तरह से गलत कर रहा हूँ? हर प्रकार की सहायता का स्वागत है, धन्यवाद!

+0

संस्करण भूल गए: विंडोजपर पायथन 2.6.4 डीजेगो ट्रंक स्पैटियालाइट 2.3।स्पष्टीकरण के लिए 1 – Hans

उत्तर

1

हंस, स्पैटियालाइट SQLITE3 का विस्तार है।

SQLite3 को विशेष रूप से इस विकल्प के साथ संकलित करने की आवश्यकता है, और यह अक्सर नहीं होता है। उदाहरण के लिए मैक पर डिफ़ॉल्ट संस्करण RTREE के साथ संकलित नहीं है। हालांकि मुझे लगता है कि sqlite3 को शामिल किया जाना चाहिए हालांकि आपके पायथन इंस्टॉलेशन & pysqlite शायद sqlite3 या किसी अन्य संस्करण के मूल संस्करण का उपयोग कर रहा है।

आप कोशिश कर सकते हैं कि sqlite3.version पाइथन द्वारा कौन सा संस्करण उपयोग किया जा रहा है।

यह भी ध्यान रखें, आप सही config विकल्प setup.py स्थापित चलाने से पहले IE के साथ pysqlite मॉड्यूल को फिर से स्थापित करने के लिए, setup.cfg बदलने है: इशारा करते हुए के लिए

[build_ext] 
#define= 
include_dirs=PATH_TO_INCLUDE 
library_dirs=PATH_TO_LIBS 
libraries=sqlite3 
#define=SQLITE_OMIT_LOAD_EXTENSION 

http://www.gaia-gis.it/spatialite/install-windows.html

+0

धन्यवाद। किसी कारण से मैं इस धारणा के तहत था कि स्पैटियालाइट में मानक स्क्लाइट लाइब्रेरी भी शामिल है। मैंने pysqlite का नवीनतम संस्करण डाउनलोड किया है, अपने सुझाव के अनुसार setup.cfg को बदल दिया है और फिर 'setup.py build_static install' चलाने के लिए प्रयास किया है (जैसा कि pysqlite readme द्वारा निर्देशित किया गया है), और मुझे निम्न आउटपुट मिलता है:

 running build_static running build_py running build_ext Downloading amalgation. Extracting sqlite3.c Extracting sqlite3.h building 'pysqlite2._sqlite' extension error: Unable to find vcvarsall.bat 
Hans

+0

जहां तक ​​मुझे पता है vcvarsall.bat माइक्रोसॉफ्ट के विजुअल स्टूडियो का हिस्सा है। मेरे पास इस सॉफ़्टवेयर का स्वामित्व नहीं है और इसके साथ कोई अनुभव नहीं है, इसलिए अब मैं स्क्लाइट के प्रीकंपिल्ड संस्करणों की तलाश में हूं जिसमें आरटीई एक्सटेंशन शामिल है। यदि आप ऐसी फ़ाइल रखते हैं, या किसी को खोजने में कोई सहायता प्रदान कर सकते हैं, तो इसकी सराहना की जाएगी। – Hans

+0

हाय हंस, हाँ मुझे लगता है कि pysqlite सेटअप sqlite3 संकलित करने का प्रयास करता है ... और इसे विजुअल स्टूडियो की आवश्यकता होगी। मैंने थोड़ी देर में एक विंडोज मशीन का इस्तेमाल किया है, इसलिए मैं वास्तव में उस संबंध में आपकी मदद नहीं कर सकता। मैं आसानी से उबंटू पर स्पैटियालाइट + geodjango सेटअप प्राप्त करने में कामयाब रहा (मैक पर बहुत आसान) – ismail

1

धन्यवाद इस्सी मुझे सही दिशा में।

समस्या वास्तव में थी, कि pysqlite ने एक स्क्लाइट बाइनरी बनाई, जिसमें आर * ट्री एक्सटेंशन सक्षम नहीं था।

मैंने पिसक्लाइट के डेवलपर्स से संपर्क किया (link text देखें), जिन्होंने मुझे तुरंत बताते हुए जवाब दिया कि संस्करण 2.5.6 संस्करण से "भविष्य विंडोज़ बाइनरीज़ और कंपाइलेशंस के साथ -बिल्ड-स्टेटिक में डिफ़ॉल्ट रूप से आरटीआई समर्थन होगा। "

समस्या हल हो गई। सबको शुक्रीया।

संबंधित मुद्दे