Установка поддержки Python в IIS

Скрипты, написанные на Python, могут работать и а web сервере IIS, который входит в состав Windows.

Для этого требуется установить сам интерпретатор Python, поддержку CGI и выполнить ряд настроек.

Установка интерпретатора Python была достаточно подробно рассмотрена в статье посвящённой поддержке Python в Visual Studio. Поэтому здесь мы опишем только операции связанные с IIS.

Поддержка CGI в IIS

Поддержка CGI в IIS включается при помощи стандартного окна «Включение или отключение компонентов Windows» (доступно через «Панель управления» — «Программы и компоненты»).

Поддержка CGI

В разделе «Компоненты разработки приложений»  устанавливаем соответствующий флажок и нажимаем «Ok».

После завершения установки можно приступить к настройке IIS для работы Python.

Настройка IIS для работы с Python

Для настройки воспользуемся стандартным «Диспетчером служб IIS» («Панель управления» — «Администрирование»).

Диспетчер служб IIS

Отрываем «Документ по умолчанию» и добавляем новое имя файла, который будет открываться по умолчанию на сайте. Например, index.py

Документ по умолчанию

Далее необходимо сопоставить обработчик для скриптов на Python.

Открываем в «Диспетчере служб IIS» «Сопоставление обработчика». Нажимаем «Добавить сопоставление сценария» и в открывшемся окне прописываем:

  • Путь запроса: *.py
  • Исполняемый файл: путь_к_папке_Python\python.exe %s %s
  • Имя: python

Сопоставление обработчика

В примере на скриншоте «путь_к_папке_Python» имеет значение C:\Python34.

После нажатия кнопки «Ok» в открывшемся диалоговом окне вновь подтверждаем наши действия.

По завершении установки рекомендуется перезапустить IIS («Перезапустить» в «Диспетчере служб IIS»).

Тестовый скрипт

Для проверки работы поддержки Python напишем небольшой скрипт.

Создадим в корневой папке сайта файл index.py и напишем в нём следующий код:

Первые две строки после кодировки содержат служебные заголовки протокола HTTP. Первая – код ответа сервера. Вторая – тип содержимого (в данном примере HTML страница).

Далее после вывода пустой строки, которая отделяет заголовки от содержимого идёт вывод собственно HTML кода.

Если установка поддержки Python выполнена правильно и код не содержит ошибок, результат работы тестового скрипта можно будет увидеть в браузере.

Вывод браузера

Один комментарий

  1. Чтобы страница была в нормальной кодировке (т.е. в UTF-8), исправить скрипт нужно так:
    # coding: utf-8
    import sys
    sys.stdout = open(1, 'w', encoding='utf-8', closefd=False)
    print('Status: 200 OK')
    print('Content-Type: text/html; charset=utf-8')
    print('')
    print('')
    print('')
    print('Тестовая страница')
    print('')
    print('Проверка работы Python на IIS')
    print('')

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *