比方说,我想写一个简单的应用程序,让用户粘贴一两列数据,点击几个单选框,让我的代码处理这些数据,并为它们显示一些绘图。在考虑以下因素的同时,开发和部署此功能的最佳方法是什么。
1) 跨平台。运行在windows、mac、linux上,并且由于用户可能不成熟,所以依赖关系尽可能少。最好我甚至不想要求他们安装python(例如Windows用户)。
2) 仅使用Python(没有C代码),可能使用Tkinter作为GUI,因为它与Python一起提供。
3) 用户可能关心隐私。通过网络发送数据可能是一个阻碍。理想情况下,它在本地运行。
脑海中浮现的一些选项是
-
使用SimPy绘图模块。不知怎么的,把这些都放在一个模块里。
-
使用Flask或Bottle在浏览器中运行。也许可以使用javascript/jquery进行绘图,这样它就可以在本地运行。
-
使用py2exe(或其名称)部署两个版本,以创建一个单独的Windows可执行文件,然后将python代码部署到linux/mac。
-
忘掉python,只需用java或javascript编写它。或者使用Jython?
-
只需制作一个在我自己的服务器上运行的网络应用程序。这让我可以自由地使用任何python模块(numpy、matplotlib等),而牺牲了隐私和本地(离线)运行的能力。
有人能为开发和部署这类应用程序提供一些建议吗?谢谢
对您的问题有两个想法。
-
你有没有想过穿睡衣来住。然后,你可以使用睡衣桌面将其打包到桌面上,两全其美。如果你想在线运行它,你可以,但如果你想让它离线运行,这是一个相当简单的过渡
界面将基于web,因此,您将无法访问Tkinter的所有健壮性。然而,你用它来换取灵活性。 -
pyinstaller将允许您为mac和windows平台创建打包格式。这样,您就不必学习两个单独的工具来打包应用程序。