2012-04-24 16 views
5

मुझे स्थानिक डेटाबेस सेट करने और GeoDjango के साथ समन्वयित करने में एक वास्तविक समस्या है। मैं सेटअप करने के लिए प्रति geodjango प्रलेखन के रूप में स्थानिक डेटाबेस में सक्षम था और एक Django ऐप बनाने लेकिन मैं थक गया है और वास्तव में यकीन नहीं है जब मैंGeoDjango ऐप में syncdb में असमर्थ

python manage.py sqlall world

मैं इस मिल रहा है,

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/commands/sqlall.py", line 4, in <module> 
    from django.core.management.sql import sql_all 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/sql.py", line 6, in <module> 
    from django.db import models 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module> 
    backend = load_backend(connection.settings_dict['ENGINE']) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__ 
    return getattr(connections[DEFAULT_DB_ALIAS], item) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/utils.py", line 92, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/utils.py", line 44, in load_backend 
    raise ImproperlyConfigured(error_msg) 
django.core.exceptions.ImproperlyConfigured: 'django.contrib.gis.db.backends.postgis' isn't an available database backend. 
Try using django.db.backends.XXX, where XXX is one of: 
    'dummy', 'mysql', 'oracle', 'postgresql_psycopg2', 'sqlite3' 
Error was: No module named psycopg2.extensions 

चलाने क्या करें? कृपया मदद

संपादित

ठीक है, मैं इस link जो एक तरह से मुझसे कहता है क्या गलत हुआ पाया। अब जब मैं \ घर से python में मिलता है, और मैं निष्पादित import psycopg2 यह मुझे किसी भी ImportError नहीं देता है लेकिन जब मैं आभासी env अंदर हूँ, मैं ImportError

(django-env)[email protected]:~/geodjango$ python 
Python 2.7.2+ (default, Oct 4 2011, 20:06:09) 
[GCC 4.6.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import psycopg2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named psycopg2 

अब कड़ी में कैसे करने के लिए मुझे गाइड मिलता है पथ को जोड़ो लेकिन मैं वास्तव में प्रक्रिया को समझ नहीं रहा क्योंकि मैं नया हूं और मैं इसे और अधिक खराब नहीं करना चाहता हूं। तो क्या कोई मुझे चरणबद्ध तरीके से मार्गदर्शन कर सकता है कि sys.path कैसे संलग्न करें ??

+0

आप पोस्ट कर सकते हैं डेटाबेस मूल्य आपकी सेटिंग्स.py पर? – dannyroa

+0

'DATABASES = { 'डिफ़ॉल्ट': { 'इंजन': 'django.contrib.gis.db.backends.postgis', # postgresql_psycopg2 ',' mysql ',' sqlite3 'या' oracle 'जोड़ें। 'NAME': 'geodjango', # या sqlite3 का उपयोग करते हुए डेटाबेस फ़ाइल का पथ। 'उपयोगकर्ता': 'smaranh', # sqlite3 के साथ प्रयोग नहीं किया जाता है। 'पासवर्ड': '', # sqlite3 के साथ प्रयोग नहीं किया जाता है। 'HOST': '', # लोकहोस्ट के लिए खाली स्ट्रिंग पर सेट करें। Sqlite3 के साथ प्रयोग नहीं किया जाता है। 'पोर्ट': '', # डिफ़ॉल्ट के लिए खाली स्ट्रिंग पर सेट करें। Sqlite3 के साथ प्रयोग नहीं किया जाता है। } } ' – Sam007

+0

@ डैनीरो मुझे लगता है कि मुझे जवाब मिला, बस मेरी पोस्ट संपादित की, क्या आप इसे समझने में मेरी मदद कर सकते हैं और मुझे बताएं कि मुझे आगे कैसे आगे बढ़ना चाहिए? – Sam007

उत्तर

18

आप virtualenv का उपयोग कर रहे हैं, तो आप पर्यावरण के अंदर psycopg2 स्थापित की जरूरत है, कुछ की तरह:

pip install psycopg2 

लेकिन आप उस से पहले उपयुक्त के साथ कुछ पैकेज इंस्टॉल की जरूरत है:

sudo apt-get install python-dev postgresql-server-dev-all 
+0

देखें, इसलिए मुझे पहले 'sudo apt-get इंस्टॉल करना चाहिए python-dev postgresql-server-dev-all' स्थापित करें और फिर 'पीआईपी स्थापित psycopg2' – Sam007

+0

धन्यवाद बहुत धन्यवाद @ diegueus9, यह वास्तव में एक बड़ी मदद – Sam007

+0

@ सैम 007 मेरी खुशी – diegueus9

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