如何为我的 Python 脚本创建 Web 界面?

如何为我的 Python 脚本创建 Web 界面?

我在大学办公室有一台电脑,上面装有 Ubuntu,运行着 ssh,还有 Python。我自己使用 ssh 连接电脑来运行 Python 程序并查看输出。只有命令行输出,没什么特别的。

但是,我想让这个同事也这样做。不幸的是,他不擅长 IT,所以我不想经历让他熟悉 ssh 的整个过程。我正在寻找一种简单的替代方法,让他运行该程序并查看(命令行)输出。

在这种上下文中运行程序意味着被限制在特定的文件夹中myFolder,并python file1.py在该文件夹内执行。

Ubuntu 是否安装了 apache 或其他 Web 服务器?我可以为他设置其他通信方式吗?他使用的是 Windows 7。

答案1

当然你安装 apache 并从那里试试你的运气。

对我来说,以下内容似乎更简单:

  • (可选)在大学机器上为他创建一个用户帐户。这是为了将他与您的文件“分开”。这不是绝对必要的,但可能是一个好主意。
  • 安装油灰在你朋友的 Windows 7 机器上。
  • 创建 putty 会话(如上所述这里) 并将其作为图标放在桌面上(或任何其他方便的地方)。确保您还配置了用户名和密码。(一种不错的替代方法是使用 pageant 进行身份验证)

这样,你的朋友只需单击一个图标,就会出现一个控制台窗口,他可以在其中直接使用该脚本:python file1.py

答案2

您可以设置一个 Ipython 笔记本服务器。

这里是指示。

笔记本应该相对容易使用(对于某些应用程序来说甚至比终端界面更好)。另外,您不必在朋友的计算机上安装 SSH 客户端,也不必发明自己的安全协议。

答案3

如果你已经用 Python 编程,你可以使用http.server模块在 Python 3 中,或者BaseHTTPServer在 Python 2 中。然后,您的程序将通过 HTTP 直接将其输出发送到远程浏览器。具体如何操作超出了本网站的讨论范围,但根据您的程序,它可能少于 10 行代码。

请记住,这样做会让您失去 SSH 的所有身份验证和授权功能。换句话说,这种方法不允许服务器确保您或您的同事是访问该页面的人。如果其他人发现了正确的 URL,他们可以运行您的程序,可能连续多次运行;他们可能会使程序崩溃;他们可能会尝试破解它;等等。但如果这些风险对您来说是可以接受的,那么纯 Python 的简单性可能很难被超越。

当然,可以通过 HTTPS 进行身份验证和授权,但这样做就不再那么简单了。

答案4

Ubuntu 有一个为 Ubuntu 定制和预配置的软件包,其中包括 apache 和 mysql,您可以使用 进行安装sudo apt-get install lamp-server^。如果您安装了它,您将需要编写软件来执行您想要的操作;例如一个 web 服务,他输入一个链接,然后在浏览器窗口中看到 python 输出。我认为这是过度的;除非你希望用它做更多的事情。

但在 Windows 机器上创建一个脚本,执行 ssh,在你的服务器上执行并下载输出以便他可以看到,这不是更容易吗?对我来说似乎很简单(好吧,我一直这样做,但不使用 Windows 来做这件事 ;))。

相关内容