TurboGears 2 快速入门立即显示错误

2024-03-25

我是 TurboGears 的新手,刚刚在虚拟环境中安装了 TG2 开发。我正在跟随快速入门指南 http://turbogears.org/2.0/docs/main/QuickStart.html,并通过以下方式成功构建了一个 helloworld

paster quickstart

我启动了服务器并将网络浏览器导航到 localhost:8080

你难道不知道吗,我立即收到一个错误,而不是文档建议我应该看到的欢迎消息。

错误如下:

AttributeError: 'AcceptLanguage' object has no attribute 'best_matches'

这是跟踪:

URL: http://localhost:8080/
File 'C:\\VirtualEnv_1\\lib\\site-packages\\weberror-0.10.3-py2.7.egg\\weberror\\evalexception.py', line 431 in respond
  app_iter = self.application(environ, detect_start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\beaker-1.6-py2.7.egg\\beaker\\middleware.py', line 73 in __call__
  return self.app(environ, start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\beaker-1.6-py2.7.egg\\beaker\\middleware.py', line 155 in __call__
  return self.wrap_app(environ, session_start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\routes-1.12.3-py2.7.egg\\routes\\middleware.py', line 131 in __call__
  response = self.app(environ, start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\pylons-1.0-py2.7.egg\\pylons\\wsgiapp.py', line 107 in __call__
  response = self.dispatch(controller, environ, start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\pylons-1.0-py2.7.egg\\pylons\\wsgiapp.py', line 312 in dispatch
  return controller(environ, start_response)
File 'C:\\VirtualEnv_1\\Scripts\\HelloWorld\\helloworld\\lib\\base.py', line 27 in __call__
  return TGController.__call__(self, environ, start_response)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\pylons-1.0-py2.7.egg\\pylons\\controllers\\core.py', line 211 in __call__
  response = self._dispatch_call()
File 'C:\\VirtualEnv_1\\lib\\site-packages\\pylons-1.0-py2.7.egg\\pylons\\controllers\\core.py', line 162 in _dispatch_call
  response = self._inspect_call(func)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\pylons-1.0-py2.7.egg\\pylons\\controllers\\core.py', line 105 in _inspect_call
  result = self._perform_call(func, args)
File 'C:\\VirtualEnv_1\\lib\\site-packages\\turbogears2-2.1.3-py2.7.egg\\tg\\controllers\\dispatcher.py', line 230 in _perform_call
  setup_i18n()
File 'C:\\VirtualEnv_1\\lib\\site-packages\\turbogears2-2.1.3-py2.7.egg\\tg\\i18n.py', line 61 in setup_i18n

pylons.request.accept_language.best_matches())) AttributeError:“AcceptLanguage”对象没有属性“best_matches”

我安装时是否搞砸了,或者这是 TurboGears 的问题?

编辑:我创建了第二个项目,名为 GoodnightMoon,这次没有 Mako 模板选项(这是设置之间的唯一区别),我得到了相同的错误:

'AcceptLanguage' object has no attribute 'best_matches'

不幸的是,这个问题是我能找到的唯一一个问题与此错误完全相关。

我可以使用并向 stackoverflow 提供任何其他线索来帮助回答这个问题吗?

按照下面 Michael Pederson 的建议,我研究了 i18n。我有一个 i18n 目录,只有一个子目录,名为 ru(我猜是俄语)。我正在研究默认英语的系统和浏览器。

我正在使用出现此问题时最新的 TG2 发行版 v. 2.1.3 和 tg.devtools 2.1.x


对 WebOb 错误依赖的问题。安装的 IIRC 1.2b2 缺少 AcceptLanguage 类上的 best_matches 方法。克服该问题的最简单方法是将 WebOb-1.2b2 替换为稳定的 WebOb-1.1.1。 这个解决方案对我来说效果很好。

PS:如果您使用 virtual-env - 只需将 lib/python2.7/site-packages/webob 中的文件替换为官方网站中的文件http://pypi.python.org/pypi/WebOb/1.1.1 http://pypi.python.org/pypi/WebOb/1.1.1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TurboGears 2 快速入门立即显示错误 的相关文章

随机推荐