Как создать веб-интерфейс для моего скрипта Python? [закрыто]

У меня в университетском офисе есть компьютер с Ubuntu, запущенным ssh и Python. Я сам подключаюсь к нему с помощью ssh для запуска программ Python и просмотра результатов. Только вывод из командной строки, ничего особенного.

Однако у меня есть коллега, которому я хотел бы позволить сделать то же самое. К сожалению, он не очень разбирается в ИТ, поэтому я бы не хотел вдаваться в подробности его ознакомления с ssh. Я ищу для него простой альтернативный способ запустить программу и увидеть вывод (из командной строки).

Запуск программы в этом контексте означает привязку к определенной папке myFolder и выполнение python file1.py в этой папке.

Поставляется ли Ubuntu с установленным apache или другим веб-сервером? Могу ли я создать для него еще один способ общения? Он использует Windows 7.

4
задан 25 December 2015 в 09:37

4 ответа

Конечно, Вы можете апач установки и попытать Вашего счастья оттуда.

мне, следующее кажется более простым:

  • (дополнительно) создают учетную запись пользователя для него на университетской машине. Это должно "разделить" его из Ваших файлов. Это не строго необходимо, но может быть хорошей идеей.
  • Установка шпаклевка на машине Windows 7 Вашего друга.
  • Создают сессию шпаклевки (как описано здесь ) и помещают это как значок на рабочем столе (или любое другое удобное место). Удостоверьтесь, что Вы также настраиваете имя пользователя и пароль. (Необычная альтернатива должна была бы использовать театрализованное представление для аутентификации)

Таким образом, весь Ваш друг должен сделать, нажимают на значок, и ему подарят консоль, где он может непосредственно использовать сценарий: python file1.py

4
ответ дан 23 November 2019 в 11:42

Вы могли настроить сервер ноутбука Ipython.

Здесь инструкции.

ноутбуки должны быть относительно простыми в использовании (для некоторых приложений еще лучше, чем терминальный интерфейс). Плюс Вы не должны установить клиент SSH на компьютере Вашего друга или изобрести Ваш собственный защищенный протокол.

4
ответ дан 23 November 2019 в 11:42

Если Вы уже кодируете в Python, Вы могли бы записать веб-фронтенд для своей программы с помощью http.server модуль в Python 3, или BaseHTTPServer в Python 2. Ваша программа тогда испустила бы свой вывод непосредственно по HTTP к удаленному браузеру. Детали того, как сделать так, выходят за рамки этого сайта, но в зависимости от Вашей программы это могли быть меньше чем 10 строк кода.

Принимают во внимание, что путем выполнения этого, Вы потеряли бы всю возможность аутентификации и авторизации SSH. Другими словами, этот метод не позволяет серверу гарантировать, что Вы или Ваш коллега - тот, получающий доступ к странице. Если кто-либо еще обнаруживает правильный URL, они могут запустить Вашу программу, потенциально много раз в быстрой последовательности; они могли разрушить его; они могли попытаться взломать его; и т.д., Но если эти риски приемлемы для Вас, вероятно, трудно разбить чистый Python для простоты.

возможно сделать аутентификацию и авторизацию по HTTPS, конечно, но тогда это больше не настолько просто.

2
ответ дан 23 November 2019 в 11:42

Ubuntu настроили пакет и предварительно сконфигурированный для Ubuntu, который включает апача и mysql, который можно установить с sudo apt-get install lamp-server^. При установке этого, необходимо будет кодировать программное обеспечение, чтобы сделать то, что Вы хотите сделать; как веб-сервис, где он вводит ссылку и затем видит вывод Python в его окне браузера. Я считаю это излишеством; если Вы не ожидаете делать больше с ним.

, Но разве не было бы легче создать сценарий на машине Windows, которая делает ssh, выполнение на Вашем сервере и загружает вывод, таким образом, он видит его? Кажусь тривиальным мне (хорошо, я делаю это все время, но не использую Windows, чтобы сделать это;)).

1
ответ дан 23 November 2019 в 11:42

Другие вопросы по тегам:

Похожие вопросы: