2012-04-24 3 views
5

У меня возникли проблемы с настройкой пространственной базы данных и ее синхронизацией с GeoDjango. Я был в состоянии установить пространственные базы данных в соответствии с документацией GeoDjango и создать приложение Джанго, но когда я запускаюНевозможно синхронизировать в приложении GeoDjango

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 

Я устал и действительно не уверен, что делать? Пожалуйста, помогите

EDIT

Ok Я нашел этот link, какой тип говорит мне, что пошло не так. Теперь, когда я получаю в python из \ дома, и я исполняю import psycopg2 это не дает мне никакого ImportError, но когда я нахожусь внутри виртуальной окр, я получаю 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 

Теперь ссылка ведет меня в том, как добавьте путь, но я не очень понимаю этот процесс, так как я новичок, и я не хочу втягивать его дальше. Так может кто-нибудь PLS руководство меня шаг за шагом, как добавить sys.path ??

+0

Вы можете разместить значение DATABASES на вашем settings.py? – dannyroa

+0

'DATABASES = { 'default': { 'ДВИГАТЕЛЬ': 'django.contrib.gis.db.backends.postgis', # Добавить 'postgresql_psycopg2', 'mysql', 'sqlite3' или 'oracle'. 'NAME': 'geodjango', # Или путь к файлу базы данных при использовании sqlite3. 'USER': 'smaranh', # Не используется с sqlite3. 'PASSWORD': '', # Не используется с sqlite3. 'HOST': '', # Установить пустую строку для localhost. Не используется с sqlite3. 'PORT': '', # Установить пустую строку по умолчанию. Не используется с sqlite3. } } ' – Sam007

+0

@dannyroa Я думаю, что нашел ответ, просто отредактировал свой пост, не могли бы вы помочь мне разобраться в этом и сообщить мне, как я должен идти дальше? – 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' , а затем установите 'pip install psycopg2' – Sam007

+0

Спасибо большое @ diegueus9, это была действительно большая помощь – Sam007

+0

@ Sam007 мое удовольствие – diegueus9

Смежные вопросы