使用python脚本创建具有UI的软件

2024-05-16 01:52:12 发布

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

我正在计划创建一个用于分析生物数据的软件,我们中的一些生物学家将不会有太多的编程技能,但我们要做很多重复的任务,并被要求编写更多的脚本或程序,我们一直在使用。 我决定把它缩小到一个非常重要的任务,它是一个搜索脚本,即查询一个基因数据库-(data),已经有一个程序可以做到这一点,称为ncbi blast,通常需要熟悉命令行,也需要ubuntu或windows,但是如果你要分析产生的大量结果,那就麻烦了。在

所以我想把我的一些python脚本打包到一个软件中,这样其他人就可以方便地分析他们的工作了

开源与开源(许可)

我打算让用户在软件中免费使用一些功能,不过在稍后的阶段,我打算引入需要一个负担得起的许可证的管道

测试 所以有了这个函数,测试就简单多了——我还不知道,我也不介意从linux ubuntu和windows开始作为平台。 我很感谢你关于只选择一种语言的建议,我将选择python,我希望这个软件至少支持用其他语言(如R)创建的其他免费程序,如客户需要时安装的插件。 我希望这能为我已经很复杂的情况带来更多的光明 谢谢你


Tags: 数据程序脚本语言数据库软件ubuntuwindows
1条回答
网友
1楼 · 发布于 2024-05-16 01:52:12

听起来你是在冒险和一些新的学习曲线的开始。我会为你的创造意愿鼓掌。当你开始你的旅程时,这里有一些事情要考虑。在

仅供参考:“软件”通常是一个单词,没有空格。 基于“软件”的上下文,你的意思似乎是“应用程序”。在

我提到“软件”和“应用程序”并不是为了给你一个艰难的时间,而是因为我认为1)当你想办法完成某件事时,它会帮助你在未来的搜索中(例如,你会在“python应用程序安装程序”上得到比“python软件安装程序”更有用的点击率,2)你可以更清楚地向人们解释你在尝试什么。在

所以。您的应用程序将需要用于脚本集合的用户界面。您想要图形用户界面(GUI)吗?还是命令行界面(CLI)?在

GUI:比CLI更复杂:
对于GUI,要获得同时在Windows和Linux上运行的东西会更复杂。 据我所知,没有一种简单的方法可以在不添加其他工具的情况下创建一个在Windows和Linux上运行的GUI。也许python中有简单的GUI用户界面,您可以使用它。在

对于perl,我将在这里指出:“perlgui programming on Windows”Perl GUI programming on Windows 本文列出了一些需要考虑的Perl方法,您必须研究它们,看看哪些方法也可以在Linux上运行。在包含需要打包(或记录如何安装)的应用程序的附加库时要小心。在

CLI:比GUI更简单:
由于它们现在只是脚本,我建议从CLI开始,这可能意味着清理参数处理(Perl中的@ARGV,我不能评论Python)。 通读你的代码,找到你在为新的东西运行脚本时所改变的文字,这些东西将成为你的参数。如果你开始觉得你创建了太多的参数,也许你想看看一个配置文件(某种属性文件)。在

对于您来说,开始使用CLI会更容易,而且您可以随时回来并在将来的版本中添加GUI选项。我发现,设计一个经过深思熟虑的CLI可以更容易地关注对GUI来说重要的内容,因此它应该有助于最终的GUI变得更好。在

包装
打包应用程序将是一个挑战。 您的脚本是否需要在python&perl安装中不属于默认值的库?如果是这样的话,你需要找到一种方法来提供它们(例如,在你的发行版中包含它们,或者包括你的用户可以遵循的文档来下载和安装libs)。在

我不能评论pyinstaller。在

对于Perl,我将向您指出关于分发Perl应用程序的问题:Distributing a Perl Application

用户技能
您希望您的用户具备多少技能? 如果需要的话,他们可以安装python和perl解释器吗?不是每个用户都有这种技术技能。 是否要确保脚本验证所需的python&perl的最低版本?在

文件
参见上面的用户技能。你需要提供文件。 这将取决于谁将使用您的脚本。你的目标用户是什么样的?你能写一个“5行”的摘要,让我想下载并试用它们吗?这将是一个很有帮助的练习,可以帮助您专注于如何呈现脚本。在

开放源代码与封闭源代码(许可证)
这也与许可有关。你的目标是商业产品吗?给世界另一份开源的礼物?这些都是很好的事情,但是您需要为您的应用程序选择一个合适的许可证。如果你想避免分发脚本的源代码,你也有一些工作要做(我不是建议你采用一种或另一种方法,只是你在或者你把它放在网上。在

测试
测试应用程序将是一个挑战。 如果你没有自动测试你的脚本,你会疯狂地试图验证它在你想运行的任何地方运行。在

您是否有针对脚本的单元测试和测试套件,以便验证它们在不同版本的Windows和各种Linux发行版上是否正确运行? 如果您的脚本非常简单,那么它们是否运行在32位和64位操作系统上并不重要。 也许它们运行在Windows10,Windows8.x,Windows7.x,或者各种版本的WindowsServer(2012,2008,…)上也没关系。 也许它们运行在RedHat,Suse,Ubuntu,Mint。。。在

您可能需要进行一些健全性检查,以验证安装程序是否正常工作以及环境是否合适。 如果不知道脚本做了什么,很难说它们从测试中受益多少。在

免费建议:只选择一种脚本语言并使用它运行
最后,我将给出一些完全免费的建议(值得您为此付出的代价:-)
仔细想想只需选择一种脚本语言并用它编写所有内容。在

支持两个脚本系统会增加很多额外的复杂性,如果我像你描述的那样做,我会认真考虑合并成一种语言,只使用Python或Perl。与学习如何使用两种不同的语言创建安装指南和打包应用程序相比,将Python脚本重写为Perl(或其他方式)所需的时间和精力可能会更容易。在

相关问题 更多 >