5

空間データベースのセットアップと GeoDjango との同期に本当に問題があります。geodjangoのドキュメントに従って空間データベースをセットアップし、djangoアプリを作成できましたが、実行すると

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

私は疲れていて、本当に何をすべきかわからないのですか?助けてください

編集

わかりました、このリンクを見つけました。これは、何が問題だったのかを教えてくれます。pythonfrom \home に入って実行するimport psycopg2と、ImportError は返されませんが、仮想環境内にいると ImportError が返されます

(django-env)smaranh@ubuntu:~/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か??

4

1 に答える 1

18

virtualenv を使用している場合は、次のような環境内に psycopg2 をインストールする必要があります。

pip install psycopg2 

ただし、その前に apt を使用していくつかのパッケージをインストールする必要があります。

sudo apt-get install python-dev postgresql-server-dev-all
于 2012-04-24T19:56:04.487 に答える