Уведомления

Группа в Telegram: @pythonsu

#1 Май 31, 2021 16:51:15

Mihail@
Зарегистрирован: 2021-04-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

Добрый день! Изучаю Python по книге Лутца.
Работаю в Debian 10, столкнулся со следующей проблемой:
1. Создаем веб-сервер для cgi сценариев.
2. Запускаем его из терминала с рут правами
3. Запускаю html файл, который должен обратиться к .py файлу, обработать его и получить ответ.
Но вместо этого он просто пытается его сохранить. Как добиться его выполнения и ответа?
При этом .py файлу назначены права 777, прописано #!/usr/bin/python3, находится в каталоге cgi-bin

Прикреплённый файлы:
attachment Desktop.7z (1,9 KБ)

Офлайн

#2 Май 31, 2021 22:25:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9740
Репутация: +  843  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

Mihail@
При этом .py файлу назначены права 777, прописано #!/usr/bin/python3, находится в каталоге cgi-bin
Попробуй ещё один файл создать там, в котором только самый простой код, и запустить его через браузер. Так ты поймёшь, как настроить скрипты на выполнение.

Тут приводил пример работы с cgi.



Офлайн

#3 Июнь 1, 2021 09:27:02

Mihail@
Зарегистрирован: 2021-04-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

py.user.next
Попробуй ещё один файл создать там, в котором только самый простой код, и запустить его через браузер. Так ты поймёшь, как настроить скрипты на выполнение.
Ну а все же, с чем может это быть связано?
Проблема только в том, что при обращении к файлу, он пытается его скачать!
С чем связано именно скачивание файла?

Офлайн

#4 Июнь 1, 2021 12:03:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9740
Репутация: +  843  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

Mihail@
С чем связано именно скачивание файла?
С тем, что он доступен, но не исполняется. Причин может быть несколько, поэтому тебе надо создать простейший скрипт и добиться его выполнения для начала.



Офлайн

#5 Июнь 1, 2021 12:17:53

Mihail@
Зарегистрирован: 2021-04-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

py.user.next
Причин может быть несколько, поэтому тебе надо создать простейший скрипт и добиться его выполнения для начала.
Попробуем. Такой вот ещё вопрос, нашёл инструкцию:
“В системах BSD Unix, Python-скрипты могут выполняться непосредственно, например скрипты оболочки, поставив строку:
#!/usr/bin/env python3.5
(Если интерпретатор находится в пользовательском PATH) в начале сценария и сделала файл исполняемым. #! должны быть первыми двумя символами файла. На некоторых платформах эта первая строка должна заканчиваться в стиле Unix ('\n'), а не Windows ('\r\n') окончание. ”
Как понять в каком стиле заканчивается строка?
Если я в Windows создам питон скрипт и перенесу его в Linux. Как посмотреть в каком стиле ('\r\n' или ‘\n’) заканчивается строка #!… ?

Офлайн

#6 Июнь 1, 2021 12:21:36

Mihail@
Зарегистрирован: 2021-04-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

py.user.next
Причин может быть несколько, поэтому тебе надо создать простейший скрипт и добиться его выполнения для начала.
Создавал я простой файл, и он отрабатывал через браузер, но потом качал аналогичный файл, созданный в винде, изменял права, дописывал строку #!…, и он не хотел запускаться, пытался его сохранить. В связи с этим и возник вопрос сообщением выше.

Офлайн

#7 Июнь 1, 2021 15:25:35

Mihail@
Зарегистрирован: 2021-04-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

С частью вопроса разобрался.
Что бы windows файл запустить в linux, его необходимо конвертировать утилитой unix2dos (что бы вместо ‘\r\n’ стало ‘\n’ в строке #!…).
Git получается это делает автоматом?
По поводу

py.user.next
С чем связано именно скачивание файла?
Файл выполняется, когда в браузере вводишь 127.0.0.1 и выбираешь свой html файл, если же просто правой клавишей по нему и открыть в браузере, он его пытается сохранить.
Почему так происходит?


Офлайн

#8 Июнь 1, 2021 22:55:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9740
Репутация: +  843  -
Профиль   Отправить e-mail  

Примеры из книги Марка Лутца "Начинаем программировать"

Mihail@
Создавал я простой файл, и он отрабатывал через браузер, но потом качал аналогичный файл, созданный в винде, изменял права, дописывал строку #!…, и он не хотел запускаться, пытался его сохранить. В связи с этим и возник вопрос сообщением выше.
Mihail@
С частью вопроса разобрался.
Mihail@
Файл выполняется, когда в браузере вводишь 127.0.0.1 и выбираешь свой html файл
Всё, теперь запускается?

Mihail@
если же просто правой клавишей по нему и открыть в браузере, он его пытается сохранить.
Почему так происходит?
Ну, потому что… потому что потому.

Попробуй в форме в атрибут action записать http://localhost/cgi-bin/peoplecgi.py .
Я скачал свой пример, записал там полный путь, запустил и открыл файл просто в браузере. Форма работает.



Отредактировано py.user.next (Июнь 1, 2021 22:55:50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version