Ошибка была: нет модуля с именем django_mongodb_engine.base - PullRequest
2 голосов
/ 29 марта 2012

Я установил и настроил Django / MongoDB следующим образом!

pip install virtualenv

source myproject / bin / activ

pip install hg + https://bitbucket.org/wkornewald/django-nonrel

pip install hg + https://bitbucket.org/wkornewald/djangotoolbox

pip installgit + https://github.com/django-nonrel/mongodb-engine

Все эти операции выполнены успешно!

теперь, когда я изменил файл settings.py следующим образом:

DATABASES = {
    'default': {
        'ENGINE': 'django_mongodb_engine', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'mong_db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }

Ошибка, заставляющая задуматьсяпроисходит:

Error was: No module named django_mongodb_engine.base

Очевидно, что django_mongodb_engine успешно установлен.но почему эта ошибка появится?

кстати, прости мой плохой английский!

1 Ответ

1 голос
/ 29 марта 2012

Я прошел те же шаги, что и вы, затем открыл оболочку Python:

$ python
>>> import django_mongodb_engine.base
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/emptysquare/.virtualenvs/foo/lib/python2.7/site-packages/django_mongodb_engine/base.py", line 4, in <module>
    from django.db.backends.signals import connection_created
  File "/Users/emptysquare/.virtualenvs/foo/lib/python2.7/site-packages/django/db/__init__.py", line 14, in <module>
    if not settings.DATABASES:
  File "/Users/emptysquare/.virtualenvs/foo/lib/python2.7/site-packages/django/utils/functional.py", line 276, in __getattr__
    self._setup()
  File "/Users/emptysquare/.virtualenvs/foo/lib/python2.7/site-packages/django/conf/__init__.py", line 40, in _setup
    raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

Но если я сделаю:

$ DJANGO_SETTINGS_MODULE=settings python
>>> import django_mongodb_engine.base

... это работает.

Можете ли вы установить DJANGO_SETTINGS_MODULE и попробовать импортировать django_mongodb_engine.base в оболочку Python?

...