Ответ 1
Ваш веб-сервер обрабатывает ваш код python как статический файл, а не исполняемый файл. Цель здесь заключается в том, что вы хотите, чтобы Apache выполнил python и отправил stdout обратно в браузер пользователя.
Я не знаком с Ampps, но основной поток Apache для получения этой настройки - это что-то вроде этого.
- Измените строку параметров httpd.conf, чтобы включить ExecCGI
- Зарегистрируйте свой файл python с помощью httpd.conf в качестве обработчика cgi, добавив следующую строку:
AddHandler .py
- Перезапустить Apache
- Убедитесь, что ваша строка shebang (бит #!/usr/bin/env python сверху) фактически указывает путь к вашему исполняемому файлу python. Для python2.6, живущего на C:, это может быть прочитано:
#!\Python26\python
- Если ваши скрипты должны быть переносимыми, вместо изменения строки shebang добавьте строку
ScriptInterpreterSource registry
в ваш httpd.conf и убедитесь, что по умолчанию окна открывают файлы *.py с Python.exe. Это можно проверить, дважды щелкнув script. Если он не выполняется, щелкните его правой кнопкой мыши, выберите "открыть", затем "другой", а затем перейдите на свой файл python.exe. Обязательно проверьте флажок "всегда использовать эту программу для открытия файлов этого типа". Там находится статья базы знаний Майкрософт об этом здесь.
Наконец, mod_wsgi или FastCGI - это предпочтительный метод для запуска Apache для запуска python, при этом предпочтение было отдано более низким сайтам трафика (10 тысяч запросов в день). Я бы также посоветовал изучить веб-фреймворки, такие как web.py(очень легкий) или django (более тяжелый вес, но экономит массу времени, если вы собираете пользовательский ввод или взаимодействуете с базой данных).
- инструкции по настройке mod_wsgi.
- Документация FastCGI (получение установки на окна может быть болью)
- Начало работы с Django
- учебник по web.py