Решил попробовать Bottle, для начала решил поэкспериментировать на домашнем компе. Скачал файл bottle.py, с помощью 2to3 (как понял так многие делали) переконвертил прогу в Python3. В папку cgi-bin запихнул index/py (взял отсюда):
#!/usr/bin/python3
import sys
sys.path.append("/home/sonylinux")
import bottle
from bottle import route
@route('/')
def index():
return 'Index'
@route('/hello')
def hello():
return 'Hello'
if __name__ == '__main__':
from wsgiref.handlers import CGIHandler
CGIHandler().run(bottle.default_app())
Получил ожидаемую ошибку 500 error при переходе на localhost/cgi-bin/index.py, вот что пишет /var/log/apache2/error.log:
[Sun Oct 10 16:38:15 2010] [error] [client ::1] Premature end of script headers: index.py
Traceback (most recent call last):
File "/usr/lib/python3.1/wsgiref/handlers.py", line 75, in run
self.finish_response()
File "/usr/lib/python3.1/wsgiref/handlers.py", line 116, in finish_response
self.write(data)
File "/usr/lib/python3.1/wsgiref/handlers.py", line 210, in write
self.send_headers()
File "/usr/lib/python3.1/wsgiref/handlers.py", line 266, in send_headers
self.send_preamble()
File "/usr/lib/python3.1/wsgiref/handlers.py", line 196, in send_preamble
self._write('Status: %s\r\n' % self.status)
File "/usr/lib/python3.1/wsgiref/handlers.py", line 402, in _write
self.stdout.write(data)
TypeError: must be str, not bytes
[Sun Oct 10 16:53:09 2010] [error] [client ::1] Premature end of script headers: index.py
Помогите, пожалуйста, разобраться