Настройка пути поиска модулей (необязательная)

nastrojka puti poiska modulej neobyazatelnaya Сценарии на стороне сервера

Некоторые HTTP-серверы по соображениям безопасности обычно выполняют CGI-сценарии с привилегиями пользователя «nobody» (это ограничивает доступ пользователя к серверу). Поэтому для файлов, публикуемых в Сети, должны быть установлены специальные права, делающие их доступными другим пользователям. Это также означает, что сценарии CGI не могут рассчитывать, что путь поиска модулей Python будет установлен каким-либо особым образом. Как мы видели, путь к модулям обычно инициализируется согласно значению переменной окружения PYTHONPATH для пользователя и содержимому файлов .pth плюс значениям по умолчанию, которые обычно включают текущий рабочий каталог. Но так как сценарии CGI выполняются с привилегиями пользователем «nobody», переменная PYTHONPATH может иметь произвольное значение при выполнении CGI- сценария.

Не ломайте себе над этим голову, поскольку на практике проблем с этим обычно не возникает. Благодаря тому, что по умолчанию Python обычно ищет импортируемые модули в текущем каталоге, проблем вообще не будет, если все сценарии, а также любые используемые ими модули и пакеты будут храниться в вашем веб-каталоге, а веб-сервер будет запускать сценарии CGI из каталога, где они размещаются. Но если модуль находится в другом месте, может потребоваться изменять список sys.path в сценариях, чтобы вручную настроить путь поиска перед импортом — например, с помощью вызова функции sys.path.append(dirname), присваиваний по индексам и так далее.

Соглашения по символам конца строки (необяза тельные)

На некоторых серверах Unix (и Linux) может также потребоваться обеспечить соответствие текстовых файлов сценариев соглашениям Unix по концу строки (\n), а не DOS (\r\n). Проблем не возникнет, если редактирование и отладку производить прямо на сервере (или на другом компьютере, работающем под управлением Unix) или один за другим передавать файлы по FTP в текстовом режиме. Но если редактировать сценарии на PC и загружать файлы на сервер Unix в виде tar-архива (или в двоичном режиме FTP), то после загрузки может потребоваться преобразовать символы конца строки. Например, сервер, который использовался при работе над вторым изданием этой книги, возвращал установленную по умолчанию страницу сообщения об ошибке для сценариев, в которых конец строки имел формат DOS. Приемы и примечания по созданию сценариев, автоматизирующих преобразование символов конца строки, вы найдете в главе 6.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий