0

我需要在 django admin 中为我的模型添加版本控制,因此我从这里安装了 django-reversion。我的服务器没有互联网连接,所以我无法使用 pip。我不得不手动下载 zip从github文件,上传到我的服务器,提取内容并运行python setup.py install以安装reversion。

但是,当我尝试导入它时,出现以下错误:

root@ns1 /home/project# python
Python 2.7.3 (default, Feb 27 2013, 22:57:49)
[GCC 4.1.1 20070105 (Red Hat 4.1.1-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 6, 0, 'final', 0)

>>> import reversion
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/reversion/__init__.py", line 11, in  <module>
  from reversion.revisions import default_revision_manager, revision_context_manager, VersionAdapter
File "/usr/local/lib/python2.7/site-packages/reversion/revisions.py", line 10, in <module>
  from django.contrib.contenttypes.models import ContentType
File "/usr/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.py",  line 1, in <module>
  from django.db import models
File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py", line 83, in <module>
  signals.request_started.connect(reset_queries)
File "/usr/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 88, in connect
  if settings.DEBUG:
File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
  self._setup(name)
File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 47, in _setup
 % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are    not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
  >>>

根据 github 页面,当前版本为 1.8.0,应该与 django 1.6 兼容。可能是什么问题呢 ?

4

1 回答 1

1

我知道这是一个老问题,但万一有人偶然发现:这里的问题是您正在运行标准的 python 解释器,而不是 Django shell。您可以import django使用常规的 python 解释器来检查 Django 版本,但它不会设置正确运行 django 所需的所有各种环境变量——包括导入 django 应用程序。为了导入 django 应用程序,您需要通过以下方式运行 Django shell

./ python manage.py shell
于 2014-07-23T16:05:36.223 回答