On 15 August 2012 02:02, Kai Wohlfahrt <[email protected]> wrote: > I have the following code in a test wsgi application using mod_wsgi: > > from mako.template import Template > from mako.lookup import TemplateLookup > import mako.exceptions > > def application(environ, start_response): > try: > open('nosuchfile') > except: > status = '500 Internal Server Error' > output = mako.exceptions.html_error_template().render() > > response_headers = [('Content-type', 'text/html') > ('Content-length, str(len(output)))] > start_response(status, response_headers) > return [output] > > This gives the following error in my apache log: > > mod_wsgi (pid=12785): Exception occurred processing WSGI script > '/var/www/genomes/wsgi-bin/index.py'. > Traceback (most recent call last): > File "/var/www/genomes/wsgi-bin/index.py", line 7, in application > open('nosuchfile') > IOError: [Errno 2] No such file or directory: 'nosuchfile'
The current working directory of the process will not be where your code is. You cannot use relative paths. http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Working_Directory > During handling of the above exception, another exception occurred: > > Traceback (most recent call last): > File "/var/www/genomes/wsgi-bin/index.py", line 10, in application > output = mako.exceptions.html_error_template().render() > File "/usr/lib64/python3.2/site-packages/mako/template.py", line 397, > in render > return runtime._render(self, self.callable_, args, data) > File "/usr/lib64/python3.2/site-packages/mako/runtime.py", line 765, in > _render > **_kwargs_for_callable(callable_, data)) > File "/usr/lib64/python3.2/site-packages/mako/runtime.py", line 797, in > _render_context > _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) > File "/usr/lib64/python3.2/site-packages/mako/runtime.py", line 823, in > _exec_template > callable_(context, *args, **kwargs) > File "memory:0x7f56e86bd590", line 67, in render_body > TypeError: Type str doesn't support the buffer API Is mako guaranteed to work with Python 3.X? > However, running the following from an interactive shell gives the expected > html output. Additionally, using text_error_template() works in both cases. > > import mako.exceptions > try: > open('nosuchfile') > except: > output = mako.exceptions.html_error_template().render() > print(output.decode()) > > Does anybody know whether this means I have set something up incorrectly, or > is this a bug in mod_wsgi? > > I am using mod_wsgi-3.3, mako-0.7.0, apache-2.2.22 on gentoo linux. Graham -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
