Python桌面应用程序

2024-09-30 14:33:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我用wxPython做了两年多的小科研项目,分发给很多同事。我喜欢wxPython,我已经非常熟悉它了,但是很少有东西让我发疯(不是因为wxPython,实际上我想继续使用它):

1)我在不同的操作系统上有很多用户。我知道wxPython是跨平台的,但我已经没有勇气和时间将我所有的小软件(还会有更多的)每次移植到不同的操作系统上。尤其是我没有使用其中的一些(Windows7,Mac),所以我很难解决问题和用户请求。在

2)我们更新了很多软件(因为新的想法总是来自用户和我们自己),这意味着我可以再次生成所有的标准,上传它们,然后用户可以卸载并重新安装。讨厌的。。。在

我已经在考虑切换到Web框架,但是有一些问题。首先,许多用户喜欢离线使用我的软件,例如当他们旅行或没有互联网时。第二,我们在一些数据库中有一些数据,这些数据不应该放在服务器上。这一切都是关于专利的,而且永远都是一个讨论,所以我更喜欢我的程序有一个独立的桌面应用程序来简化事情。其他人可以上网,没问题。在

所以,总的来说,我喜欢基于浏览器的解决方案,因为每个人都有一个浏览器。我看到有些人将Django项目作为一个独立的桌面应用程序进行移植,我发现这是个不错的主意。我对Camelot也很担心,但我认为这是数据库的问题。Camelot只对我的一些工具有用,这些工具是一个数据库搜索和提取程序。但其他人根本不使用数据库。在

有人能建议我,我的工具有什么好的解决方案吗?在


Tags: 工具数据用户程序数据库应用程序软件跨平台
3条回答

在Python中使用Flex如何?您的接口是可移植的(因为Flex创建flash文件);您可以使用Python连接接口。在

此外,您可以决定(根据您的应用程序)将它们部署到web上,或者使用Flex将它们包装为本机可执行文件。在

您唯一的挑战是,如果您决定为Windows打包应用程序,确保Python和它一起正确地打包(如果需要的话)。在

这可能不适合您的用户如何使用您的应用程序,但一个选择是制作一个Linux虚拟机(Virtualbox支持最常见的操作系统作为主机),并分发它。在

这将为您提供一个单独的目标进行开发,并且,作为一个额外的奖励,如果您查看了您选择的发行版(Apt,Yum等)的更新机制,您应该能够添加自己的服务器作为源,并让VM保持更新,而无需您的用户做任何事情。在

您可以使用flask来提供UI。在

所以只需像平常一样编写应用程序,但是没有GUI(通常您应该将逻辑和GUI分开)。然后使用Flask(我真的很喜欢这个微框架,但也有其他类似的Bottle)以网站的形式编写UI。您可以在本地运行此网站(这是一行代码:app.run(),然后在具有URL http://localhost:5000的web服务器中打开它),也可以在web服务器上运行,例如使用apache或nginx。在

相关问题 更多 >