В прошлом было несколько случаев, когда я пытался запустить скрипт Python под CGI или WSGI, только чтобы получить следующую неоднозначную ошибку в журнале моего веб-сервера:
[error] [client <client>] (2)No such file or directory: exec of '/path/to/web/root/test.py' failed
Это случается дажес очень простым сценарием, например:
#!/usr/bin/python
print "Content-Type: text/html\n\n"
print "Hello, World!"
В прошлом мне удавалось решить эту проблему, убедившись, что в файле используются окончания строк Unix, но из любопытства у меня возникли следующие вопросы:
- Насколько мне известно, приведенная выше ошибка означает, что исполняемый файл python не найден;я прав?
- В случае, если не удается найти исполняемый файл python, почему?Прерывает ли конец CRLF линию Шебанга?
- Есть ли обходной путь для этого, кроме преобразования формата?Можно ли настроить CGI / WSGI таким образом, чтобы он обрабатывал это автоматически?
Я проверил этот конкретный пример с Apache 2.2 в Ubuntu 11.04, в котором Python 2.6 работает под CGI.