سؤال

أنا جديدة على TurboGears و تم تثبيتها فقط TG2 التنمية في بيئة افتراضية.أنا بعد طول في دليل التشغيل السريع, و قد نجحت في بناء 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

أبراج.طلب.accept_language.best_matches())) AttributeError:'AcceptLanguage' كائن لا السمة 'best_matches'

هل اخطأت في شيء ما عندما كنت تثبيته أو أن هذه مشكلة مع TurboGears?

تحرير:أنا خلقت المشروع الثاني سميت GoodnightMoon هذا الوقت دون ماكو الخيار قالب (وهو الفرق الوحيد بين الاجهزة) و أحصل على نفس الخطأ:

'AcceptLanguage' object has no attribute 'best_matches'

للأسف هذا السؤال هو الوحيد الذي يمكنني العثور على مع البحث على شبكة الإنترنت المتعلقة بالضبط إلى هذا الخطأ.

هل هناك أي أدلة أخرى يمكنني استخدام وتقديم ستاكوفيرفلوو للمساعدة في الإجابة على هذا السؤال ؟

بعد مايكل بيدرسون نصيحة أدناه ، بحثت i18n.لدي i18n دليل واحد فقط فرعي اسمه رو الروسي (أفترض).أنا أعمل على اللغة الإنجليزية-تخلف نظم المتصفحات.

أنا باستخدام كل ما أحدث TG2 توزيعة هو وقت هذا السؤال, v.2.1.3 و tg.devtools 2.1.x

هل كانت مفيدة؟

المحلول

المشكلة في الخطأ الاعتماد على WebOb.IIRC 1.2b2 مثبت التي تفتقر إلى best_matches الأسلوب على AcceptLanguage الدرجة.أسهل طريقة للتغلب على تلك المشكلة هو استبدال WebOb-1.2b2 مستقرة مع WebOb-1.1.1.هذا الحل يعمل بشكل جيد بالنسبة لي.

PS:إذا كنت تستخدم الظاهري-env - مجرد استبدال الملفات داخل lib/python2.7/site-packages/webob مع تلك من الموقع الرسمي http://pypi.python.org/pypi/WebOb/1.1.1

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top