Python ImportError位于/无法导入名称截断器

Python ImportError位于/无法导入名称截断器,python,django,makefile,virtualenv,buildout,Python,Django,Makefile,Virtualenv,Buildout,因此,我已经设置了使用django 1.3和zc.buildout的旧python项目。运行服务器时,出现以下错误: 以下是完整的stacktrace: Environment: Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 1.3 Python Version: 2.7.6 Installed Applications: ['filebrowser', 'django.contrib.au

因此,我已经设置了使用django 1.3和zc.buildout的旧python项目。运行服务器时,出现以下错误:

以下是完整的stacktrace:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/

Django Version: 1.3
Python Version: 2.7.6
Installed Applications:
['filebrowser',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.sitemaps',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'south',
 'sugar',
 'registration',
 'webtopay',
 'pagination',
 'rest_framework',
 'rest_framework.authtoken',
 'mptt',
 'feincms',
 'feincms.module.page',
 'esavadai',
 'esavadai.documents',
 'esavadai.users',
 'esavadai.bookmarks',
 'esavadai.services',
 'esavadai.statistics',
 'esavadai.orders',
 'esavadai.emails',
 'debug_toolbar',
 'django_extensions',
 'test_utils']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.csrf.CsrfResponseMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'pagination.middleware.PaginationMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware')


Traceback:
File "/home/marijus/workspace/esavadai/eggs/Django-1.3-py2.7.egg/django/core/handlers/base.py" in get_response
  89.                     response = middleware_method(request)
File "/home/marijus/workspace/esavadai/eggs/Django-1.3-py2.7.egg/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/home/marijus/workspace/esavadai/project/esavadai/urls.py" in <module>
  8. admin.autodiscover()
File "/home/marijus/workspace/esavadai/eggs/Django-1.3-py2.7.egg/django/contrib/admin/__init__.py" in autodiscover
  26.             import_module('%s.admin' % app)
File "/home/marijus/workspace/esavadai/eggs/Django-1.3-py2.7.egg/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/home/marijus/workspace/esavadai/eggs/django_extensions-1.3.9-py2.7.egg/django_extensions/admin/__init__.py" in <module>
  23. from django_extensions.admin.widgets import ForeignKeySearchInput
File "/home/marijus/workspace/esavadai/eggs/django_extensions-1.3.9-py2.7.egg/django_extensions/admin/widgets.py" in <module>
  7. from django.utils.text import Truncator

Exception Type: ImportError at /
Exception Value: cannot import name Truncator
据我所见,django.utils.text中的Truncator类不在django 1.3中。如果我不得不猜测某个模块,它的版本在buildout中没有指定,但在django 1.3上构建这个项目时却没有使用这个类


我说得对吗?是否-我的选项是什么?

Truncator类已添加到Django 1.4中。显然,您安装的django扩展版本需要django 1.4或更高版本;正是该包尝试进行此导入

您必须找到与Django 1.3安装程序配合使用的软件包的一个或多个旧版本

看看django的GitHub回购协议,你可以看到它们是在去年11月推出的。GitHub UI向我们显示,包含提交的最早标记是1.3,因此之前的版本应该仍然有效。根据GitHub标签列表和

在“版本”部分固定该软件包:

[versions]
# ...

django-extensions = 1.2.5
[versions]
# ...

django-extensions = 1.2.5