部署具有图形功能的独立于平台的python应用程序的最简单方法



比方说,我想写一个简单的应用程序,让用户粘贴一两列数据,点击几个单选框,让我的代码处理这些数据,并为它们显示一些绘图。在考虑以下因素的同时,开发和部署此功能的最佳方法是什么。

1) 跨平台。运行在windows、mac、linux上,并且由于用户可能不成熟,所以依赖关系尽可能少。最好我甚至不想要求他们安装python(例如Windows用户)。

2) 仅使用Python(没有C代码),可能使用Tkinter作为GUI,因为它与Python一起提供。

3) 用户可能关心隐私。通过网络发送数据可能是一个阻碍。理想情况下,它在本地运行。

脑海中浮现的一些选项是

  1. 使用SimPy绘图模块。不知怎么的,把这些都放在一个模块里。

  2. 使用Flask或Bottle在浏览器中运行。也许可以使用javascript/jquery进行绘图,这样它就可以在本地运行。

  3. 使用py2exe(或其名称)部署两个版本,以创建一个单独的Windows可执行文件,然后将python代码部署到linux/mac。

  4. 忘掉python,只需用java或javascript编写它。或者使用Jython?

  5. 只需制作一个在我自己的服务器上运行的网络应用程序。这让我可以自由地使用任何python模块(numpy、matplotlib等),而牺牲了隐私和本地(离线)运行的能力。

有人能为开发和部署这类应用程序提供一些建议吗?谢谢

对您的问题有两个想法。

  1. 你有没有想过穿睡衣来住。然后,你可以使用睡衣桌面将其打包到桌面上,两全其美。如果你想在线运行它,你可以,但如果你想让它离线运行,这是一个相当简单的过渡

    界面将基于web,因此,您将无法访问Tkinter的所有健壮性。然而,你用它来换取灵活性。

  2. pyinstaller将允许您为mac和windows平台创建打包格式。这样,您就不必学习两个单独的工具来打包应用程序。

最新更新