【问题标题】:Error was: No module named django_mongodb_engine.base错误是:没有名为 django_mongodb_engine.base 的模块
【发布时间】:2012-04-12 20:46:59
【问题描述】:

我以这种方式安装和配置了 Django/MongoDB!

pip 安装虚拟环境

来源 myproject/bin/activate

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

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

pip install git+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 安装成功。但是为什么会出现这个错误呢?

顺便说一句,原谅我糟糕的英语!

【问题讨论】:

    标签: python django mongodb django-nonrel django-mongodb-engine


    【解决方案1】:

    我完成了与您相同的步骤,然后打开了一个 Python shell:

    $ 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 并尝试在 Python shell 中导入 django_mongodb_engine.base 吗?

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2017-12-26
      • 2019-01-17
      • 2014-12-25
      相关资源
      最近更新 更多