Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署具有图形功能的独立于平台的python应用程序的最简单方法。_Python_Web Applications_Jython_Flask_Bottle - Fatal编程技术网

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

部署具有图形功能的独立于平台的python应用程序的最简单方法。,python,web-applications,jython,flask,bottle,Python,Web Applications,Jython,Flask,Bottle,比如说,我想写一个简单的应用程序,让用户粘贴一两列数据,点击几个单选框,让我的代码处理这些数据并为他们显示一些曲线图。在考虑以下因素的同时,开发和部署此应用程序的最佳方法有哪些 1) 跨平台。在windows、mac、linux上运行,并且依赖性尽可能少,因为用户可能不复杂。我甚至不想要求他们安装python(例如Windows用户) 2) 仅限Python(无C代码),可能使用Tkinter for GUI,因为它与Python一起提供 3) 用户可能关心隐私。通过网络发送数据可能是一种阻碍。

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

1) 跨平台。在windows、mac、linux上运行,并且依赖性尽可能少,因为用户可能不复杂。我甚至不想要求他们安装python(例如Windows用户)

2) 仅限Python(无C代码),可能使用Tkinter for GUI,因为它与Python一起提供

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

我想到的一些选择是

  • 使用SimPy绘图模块。以某种方式将所有这些都放在一个模块中

  • 使用烧瓶或瓶子使其在浏览器中运行。也许可以使用javascript/jquery进行绘图,以便它可以在本地运行

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

  • 忘掉python,用java或javascript编写它。还是用Jython

  • 只需制作一个在我自己的服务器上运行的webapp。这使我可以自由地使用任何python模块(numpy、matplotlib等),而牺牲了隐私和本地(脱机)运行的能力


  • 有人能提供一些开发和部署此类应用程序的技巧吗?谢谢

    对你的问题有两个想法

  • 你有没有想过在使用中建造。然后,您可以将其打包用于桌面,并充分利用这两个世界。如果你想在线运行它,你可以,但如果你想让它离线可用,这是一个相当简单的转换

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

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


  • 我最近做了一个跨平台的应用程序。我使用PyQt作为接口(它看起来比Tkinter更好)。然后我使用cx_Freeze(类似于py2exe)捆绑Windows和Mac的所有依赖项,并使用InnoSetup创建Windows安装程序(我后来发现cx_Freeze也可以这样做)。对于Linux,我深入Debian打包以提供PPA。我花了相当多的时间让所有这些工作顺利进行,但我很满意用户很容易安装。我不明白为什么像这样的帖子会被标记为没有建设性,仅仅因为答案可能是主观的。除了堆栈溢出之外,还有其他地方允许这些开放式的意见型问题吗?