В общем, вот рабочий пример запуска python3 как CGI в апач 2.2 с кириллицей в браузере:
#!/usr/local/bin/python3 import sys, os os.dup2(1, 2) # copy stderr->stdout sys.stdout.buffer.write(b'Content-type: text/html;charset=utf-8nn') def out(msg): sys.stdout.buffer.write(msg.encode('utf8')) sys.stdout.flush() # test import time for i in range(10): out('кириллица ') time.sleep(1)
файл сохраняем в utf-8
в браузере тоже должна быть выбрана эта кодировка
все ошибки копируются в stdout, т.е. в браузер
подключение в httpd.conf:
– создаем вирт. хост, добавляем хэндлер
– в директории со скриптами добавляем +ExecCGI
– ставим на скрипт права на выполнение: chmod +x script.py
ServerAdmin admin@localhost2 DocumentRoot /home/python3/www ServerName pyweb ErrorLog logs/pyweb_errors CustomLog logs/pyweb_custom common AddHandler cgi-script .cgi .py .pyw # важно DirectoryIndex start.pyw Options +ExecCGI # важно
вроде бы больше ничего не требуется