gpt4 book ai didi

python - django Egg 模板加载器错误

转载 作者:行者123 更新时间:2023-12-01 06:12:16 26 4
gpt4 key购买 nike

我正在尝试安装dajax/dajaxice根据他们的文档,这建议我在我的 settings.py 中取消注释 Eggs 模板加载器(下面元组中的第三个) .

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
)

但是,这使得我的网站在我的开发计算机上停止工作,并出现“/: sys.stdin 访问受 mod_wsgi 限制的 IOError”。当我查看错误出现的位置时,它出现在未连接到该项目的 python Egg 中(我没有使用 virtualenv,这可能会有所帮助)(甚至 django),并且当我再次注释掉该行时消失。 (当鸡蛋加载器被注释掉时,它寻找的模板很容易在 TEMPLATES_DIR 中找到)。

回溯是:

Environment:

Request Method: GET
Request URL: http://[redacted URL]/
Django Version: 1.2.5
Python Version: 2.6.5
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'debug_toolbar',
'registration',
'dajaxice',
'dajax',
'south',
'[redacted app name].study_registration',
'profiles']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'audit_log.middleware.UserLoggingMiddleware')



Traceback:
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/handlers/base.py" in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File "/home/[redacted user name]/django/[redacted app name]/study_registration/views.py" in menu
671. template = loader.get_template('study_registration/menu.html')
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/template/loader.py" in get_template
157. template, origin = find_template(template_name)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/template/loader.py" in find_template
128. loader = find_template_loader(loader_name)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/template/loader.py" in find_template_loader
95. mod = import_module(module)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/utils/importlib.py" in import_module
35. __import__(name)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/template/loaders/eggs.py" in <module>
4. from pkg_resources import resource_string
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in <module>
2675. add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in subscribe
662. callback(dist)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in <lambda>
2675. add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in activate
2180. map(declare_namespace, self._get_metadata('namespace_packages.txt'))
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in declare_namespace
1784. _handle_ns(packageName, path_item)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py" in _handle_ns
1755. loader.load_module(packageName); module.__path__ = path
File "/usr/lib/python2.6/pkgutil.py" in load_module
238. mod = imp.load_module(fullname, self.file, self.filename, self.etc)
File "/usr/local/lib/python2.6/dist-packages/glumpy-0.1.0-py2.6.egg/glumpy/__init__.py" in <module>
15. from window import Window, active_window
File "/usr/local/lib/python2.6/dist-packages/glumpy-0.1.0-py2.6.egg/glumpy/window.py" in <module>
16. import IPython
File "/usr/lib/pymodules/python2.6/IPython/__init__.py" in <module>
58. __import__(name,glob,loc,[])
File "/usr/lib/pymodules/python2.6/IPython/ipstruct.py" in <module>
17. from IPython.genutils import list2dict2
File "/usr/lib/pymodules/python2.6/IPython/genutils.py" in <module>
49. from IPython.Itpl import Itpl,itpl,printpl
File "/usr/lib/pymodules/python2.6/IPython/Itpl.py" in <module>
99. itpl_encoding = sys.stdin.encoding or 'ascii'

Exception Type: IOError at /
Exception Value: sys.stdin access restricted by mod_wsgi

我的问题是无论如何都可以启用eggs模板加载器,但只检查INSTALLED_APPS的eggs ?我宁愿不必切换到 virtualenv。这些鸡蛋也出现在我的 python 路径中:

['/usr/local/lib/python2.6/dist-packages/Unidecode-0.04.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pygooglechart-0.3.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Graphy-1.0.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/glumpy-0.1.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_debug_toolbar-0.8.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Pympler-0.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_profiles-0.2-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_form_utils-0.1.8-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_audit_log-0.2.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/South-0.7.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_autocomplete-0.3.dev-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Babel-0.9.5-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Genshi-0.6-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/collective.ordereddict-0.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/ordereddict-1.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_ajax_selects-1.1.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/openpyxl-1.2.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_dynamic_choices-0.1.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode', '/usr/local/lib/python2.6/dist-packages', '/home/[redacted user name]/django', '/usr/lib/python2.6/site-packages/django/', '/home/[redacted user name]/django/[redacted app name]/', '/usr/lib/pymodules/python2.6/IPython/Extensions']

最佳答案

升级到mod_wsgi 3.3。不要使用 mod_wsgi 2.X。阅读:

http://blog.dscpl.com.au/2009/04/wsgi-and-printing-to-standard-output.html

简而言之,某处的 Python 代码正在尝试使用 sys.stdin,这从技术上讲意味着代码不能在所有 WSGI 实现上可移植地使用。旧的 mod_wsgi 版本试图强调这一点,以迫使人们编写可移植的代码。 mod_wsgi 3.3 中不再进行此类检查,它允许人们编写不可移植的代码。

关于python - django Egg 模板加载器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5173726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com