Question

Je suis nouveau à TurboGears et je viens juste installé le développement TG2 dans un environnement virtuel. Je suis dans le long Guide de démarrage rapide , et ont réussi à construire un helloworld via

paster quickstart

J'ai commencé le serveur et navigua un navigateur Web pour localhost: 8080

Sauriez-vous pas, je reçois immédiatement une erreur, et non le message de bienvenue de la documentation suggère que je devrais voir.

L'erreur se lit comme suit:

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

Voici la trace:

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: objet 'AcceptLanguage' n'a pas d'attribut 'best_matches'

Ai-je pagaille quelque chose quand je l'ai installé, ou est-ce un problème avec TurboGears?

Edit: Je créé un deuxième projet nommé je GoodnightMoon, cette fois sans l'option de modèle Mako (qui est la seule différence entre les configurations) et je reçois la même erreur:

'AcceptLanguage' object has no attribute 'best_matches'

Malheureusement, cette question est la seule que je peux trouver avec recherche web lié ??exactement à cette erreur.

Y at-il que je peux utiliser et tout autre indices fournir stackoverflow pour aider à répondre à cette question?

Suivant les conseils de Michael Pederson ci-dessous, je l'ai étudié la i18n. J'ai un répertoire i18n avec un seul sous-répertoire, nommé ru (russe, je suppose). Je travaille sur les systèmes anglais défaillantes et les navigateurs.

J'utilise quel que soit le plus distro TG2 actuelle est au moment de cette question, v. 2.1.3, et tg.devtools 2.1.x

Était-ce utile?

La solution

Le problème dans la dépendance à tort WebOb. IIRC 1.2B2 est installé qui manque méthode best_matches la classe AcceptLanguage. La meilleure façon de surmonter cette difficulté consiste à remplacer WebOb-1.2B2 avec stable WebOb-1.1.1. Cette solution fonctionne bien pour moi.

PS: si vous utilisez-env virtuel - il suffit de remplacer les fichiers dans lib / python2.7 / site-packages / WebOb avec ceux de site officiel http://pypi.python.org/pypi/WebOb/1.1.1

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top