Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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脚本创建具有UI的软件_Python_User Interface - Fatal编程技术网

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

使用python脚本创建具有UI的软件,python,user-interface,Python,User Interface,我计划创建一个软件,用于分析生物数据,我们中的一些生物学家不会有太多的编程技能,但我们会做很多重复性的任务,需要编写更多的脚本或程序,我们总是使用这些脚本或程序。 我已经决定把它缩小到一个非常重要的任务,它是一个搜索脚本,即查询基因数据库-(数据),已经有一个程序可以这样做,叫做ncbi blast,通常需要熟悉命令行,还需要ubuntu或windows,但是,如果你必须分析产生的大量结果,那就很麻烦了 因此,我想将我的一些python脚本打包成一个软件,以便其他人可以方便地分析他们的工作 开放

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

因此,我想将我的一些python脚本打包成一个软件,以便其他人可以方便地分析他们的工作

开放源代码与封闭源代码(许可)

我打算让软件中的一些功能免费提供给用户,尽管在以后的阶段,我打算引入需要负担得起的许可证的管道

测试 所以有了这个函数,测试就简单多了——我还不知道,我也不介意从linux ubuntu和windows作为平台开始。 我很感激你关于只选择一种语言的建议,我会选择python,无论我多么希望该软件至少支持用其他语言(如R)创建的其他免费程序,就像客户端需要时安装的插件一样。 我希望这能让我的处境更加复杂
谢谢你

听起来你正处于冒险和一些新的学习曲线的开始。我会为你创造的意愿鼓掌。以下是当你开始旅行时要考虑的一些事情。

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

我提到“软件”和“应用程序”并不是为了给你带来麻烦,而是因为我认为1)当你寻找完成某件事情的方法时,它将在未来的搜索中帮助你(例如,“python应用程序安装程序”比“python软件安装程序”得到更多有用的点击,2)你可以更清楚地向人们解释你在尝试什么

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

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

对于perl,我将在这里指出:“在Windows上进行perl GUI编程” 这列出了一些需要考虑的Perl方法,您将不得不研究它们,并看看哪些能够在Linux上运行。在包含应用程序打包(或记录如何安装)所需的附加库时要小心

CLI:比GUI更简单:
由于它们现在只是脚本,我建议从CLI开始,这可能意味着清理参数处理(Perl中的@ARGV,我不能对Python进行评论)。 通读您的代码并找到您在为新内容运行脚本时更改的文本,这些内容将成为您的参数。如果看起来您创建了太多的参数,那么您可能需要查看配置文件(某种属性文件)

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

包装
打包应用程序将是一项挑战。 您的脚本是否需要任何不是python和perl默认安装的库?如果是这样,您需要找到一种方法来提供这些内容(例如,将它们包括在您的发行版中,或者包括用户可以下载和安装libs的文档)

我不能评论pyinstaller

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

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

文件
请参阅上面的用户技能。您需要提供文档。 这将由谁将使用您的脚本来驱动。你的目标用户是什么样的?你能写一个“5行”的总结让我想下载并试用吗?这将是一个很有帮助的练习,帮助您关注如何呈现脚本

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

测试
测试应用程序将是一项挑战。 如果您的脚本没有自动测试,那么您将疯狂地尝试验证它在您希望它运行的任何地方运行

您是否为您的脚本提供了单元测试和测试套件,以便验证它们是否在不同版本的Windows和各种Linux发行版上正确运行? 如果您的脚本非常简单,那么无论它们是在32位操作系统上运行还是在64位操作系统上运行,都没有关系。 也许没有