Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 14, 2017 10:35:00

incomer17
Зарегистрирован: 2017-11-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Hello world, как CGI-скрипт

Всем добрый день!
Нужна помощь помощь с CGI-скриптом. Попытался запустить страничку с Hello world, как CGI-скрипт в виртуальной среде. С помощью утилиты pyenv организовал виртуальный каталог /home/eugene/.pyenv/versions/3.6.3/test_env. Затем, в соответствии с https://pythonworld.ru/web/cgi-1.html запустил сервер:
eugene@eu-IP-U430p:~/.pyenv/versions/3.6.3/test_env$ bin/python -m http.server –cgi
Ответ в консоли: Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
Открыл страничку в браузере: localhost:8000 - всё в порядке:
Directory listing for /
bin/
cgi-bin/
include/
lib/
lib64@
pyvenv.cfg
server.py
Создал папку cgi-bin, в неё поместил файл hello.py, рядом с папкой создал файл server.py/ НО при наборе localhost:8000/cgi-bin/hello.py в консоли появляется исключение:
Exception happened during processing of request from ('127.0.0.1', 50780)
Traceback (most recent call last):
File “/home/eugene/.pyenv/versions/3.6.3/lib/python3.6/http/server.py”, line 1126, in run_cgi
os.execve(scriptfile, args, env)
FileNotFoundError: No such file or directory: ‘/home/eugene/.pyenv/versions/3.6.3/test_env/cgi-bin/hello.py’
Возможно, непорядок с корневой папкой (не туда поместил папку cgi-bin с файлом server.py. Перепробовал все возможные варианты - веб-сервер не видит скрипт hello.py в папке cgi-bin. Буду рад свежим идеям!

Отредактировано incomer17 (Дек. 14, 2017 10:42:57)

Офлайн

#2 Дек. 17, 2017 20:37:17

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Hello world, как CGI-скрипт

Попробуй hello.py положить рядом с майновым файлом, который отвечает за работоспособность сервера. И вместо полного пути просто напиши “hello.py”



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#3 Дек. 22, 2017 20:52:29

incomer17
Зарегистрирован: 2017-11-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Hello world, как CGI-скрипт

DamMercul, я уж во все мыслимые папки подкладывал, а уж насчёт путей… так как без них? У меня же виртуалка. Дело в том, что цель была запустить в виртуальной папке (test_env). По идее там и должны находиться запускаемые скрипты и сервер (забыл написать. что предварительно активировал папку). Каталоги на страничке. вижу, а вот скрипт сервер не может найти.. Стоит сказать, что в “параллельной” виртуальной папке my_env (т.е. тоже под 3.6.3 - версией питона) у меня установлена пирамида и аналогичный скрипт (с учётом на фреймворк) проходит на ура. Хотелось “вручную”, без пирамиды, запустить скрипт. Увы. Если честно. то стало жалко потраченного времени. В конце-концов, работать всё-равно буду с пирамидой. А за отклик спасибо. Вы - единственный, кто на сегодня из 3-х форумов (десятки человек просматривало) ответил. А то я уже ощутил себя вопиющим в пустыне.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version