我正在使用uWSGI(0.9.8)在Ubuntu 10.10(64位)上运行Django 1.3 + Python 2.6。 但是,我偶尔会在uwsgi.log中找到一些奇怪的日志,报告“getattr”,“isinstance”未定义。但它们不是Python的内置函数吗?为什么Django找不到它们?当uwsgi服务器重新启动时流量较低时,这种情况不常发生,并且当流量很大且服务器运行一段时间时,很多时候会出现这种情况。
我确信我的django应用程序没有任何问题,但我不确定这是否是Django,uWSGI甚至Python 2.6中的错误。
更新:uWSGI的最新版本似乎没有这个。
详细日志:
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 48, in apport_excepthook
if not enabled():
File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 24, in enabled
return re.search('^\s*enabled\s*=\s*0\s*$', conf, re.M) is None
File "/usr/lib/python2.6/re.py", line 142, in search
return _compile(pattern, flags).search(string)
File "/usr/lib/python2.6/re.py", line 236, in _compile
if isinstance(pattern, _pattern_type):
NameError: global name 'isinstance' is not defined
Original exception was:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-
packages/django/core/handlers/wsgi.py", line 258, in __call__
set_script_prefix(base.get_script_name(environ))
File "/usr/local/lib/python2.6/dist-
packages/django/core/handlers/base.py", line 239, in get_script_name
if settings.FORCE_SCRIPT_NAME is not None:
File "/usr/local/lib/python2.6/dist-
packages/django/utils/functional.py", line 277, in __getattr__
return getattr(self._wrapped, name)
NameError: global name 'getattr' is not defined Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-
packages/django/core/handlers/wsgi.py", line 258, in __call__
set_script_prefix(base.get_script_name(environ))
File "/usr/local/lib/python2.6/dist-
packages/django/core/handlers/base.py", line 252, in get_script_name
return force_unicode(environ.get('SCRIPT_NAME', u''))
File "/usr/local/lib/python2.6/dist-packages/django/utils/encoding.py",
line 64, in force_unicode
if isinstance(s, unicode):
NameError: global name 'isinstance' is not defined Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 48, in apport_excepthook
if not enabled():
File "/usr/lib/python2.6/dist-packages/apport_python_hook.py", line 24, in enabled
return re.search('^\s*enabled\s*=\s*0\s*$', conf, re.M) is None
File "/usr/lib/python2.6/re.py", line 142, in search
return _compile(pattern, flags).search(string)
File "/usr/lib/python2.6/re.py", line 236, in _compile
if isinstance(pattern, _pattern_type):
NameError: global name 'isinstance' is not defined
答案 0 :(得分:1)
你能试试最新的小费吗?它看起来像一个引用计数错误,应该在0.9.9-dev
中修复如果您确认它可以解决您的问题,我将发布更新版本,仅应用此修复程序。
非常感谢报告