Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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 ubuntu软件中心如何进行“搜索”操作?_Python_Linux_Ubuntu_Package Managers - Fatal编程技术网

Python ubuntu软件中心如何进行“搜索”操作?

Python ubuntu软件中心如何进行“搜索”操作?,python,linux,ubuntu,package-managers,Python,Linux,Ubuntu,Package Managers,我想在Ubuntu上开发一个软件中心。在ubuntu软件中心,当我们键入关键字并点击回车按钮时,它会显示相关结果。例如,当我搜索eclipse关键字时,ubuntu软件中心列出了5个结果 我想在我的软件中心做类似的功能 我试图通过使用bash命令apt search package_name在apt package manager中进行搜索来解决这个问题,但结果它给出了所有包,大约超过100个包 ubuntu软件中心和其他软件中心如何搜索关键字?他们在哪里搜索关键字并检索结果?ubuntu软件中

我想在Ubuntu上开发一个软件中心。在ubuntu软件中心,当我们键入关键字并点击回车按钮时,它会显示相关结果。例如,当我搜索eclipse关键字时,ubuntu软件中心列出了5个结果

我想在我的软件中心做类似的功能

我试图通过使用bash命令apt search package_name在apt package manager中进行搜索来解决这个问题,但结果它给出了所有包,大约超过100个包

ubuntu软件中心和其他软件中心如何搜索关键字?他们在哪里搜索关键字并检索结果?ubuntu软件中心的源代码太复杂了,我找不到我需要的东西。任何指导都将不胜感激

编辑

我分析了ubuntu软件中心的所有源代码。这些代码包含了很多技术,很难理解。为了理解这些代码,我必须学习很多技术,可能至少需要一个月的时间,也许这一次还不够。在我花了这么多时间学习这些技术之后,如果这些技术不能解决我的问题呢?我只懂python,不熟悉os库等,时间有限,请指导我。我需要建立一个简单的软件中心,而不是一个复杂的


提前感谢。

它是开源的,甚至可能使用Python

要了解安装软件中心的软件包,请执行以下操作:

$ apt-file find -F /usr/bin/software-center
software-center: /usr/bin/software-center
要下载源代码,请执行以下操作:

$ mkdir software-center
$ cd software-center/
$ apt-get source software-center

在源代码中查找“搜索”一词。utils/search\u query.py似乎与此相关。看起来它使用模块来完成实际工作。它查询/var/lib/apt-xapian-index/index-xapian数据库以及其他数据库。

我不明白你说的是什么意思:找出安装软件中心的软件包:。我安装了apt文件。然后我找到了文件/usr/bin/softwarecenter。我打开了这个文件,但我不明白这个文件的用途。这个文件的目的是什么?此文件中发生了什么?@metis:此文件的目的是为您提供包的名称。回答第二个问题:在这里需要包名的唯一原因是查找其源代码。如果您已经拥有软件中心的源代码;我分析了你提到的文件,我分析了所有的源代码。这些代码包含了很多技术,很难理解。为了理解这些代码,我必须学习很多技术,可能至少需要一个月的时间,也许这一次还不够。在我花了这么多时间学习这些技术之后,如果这些技术不能解决我的问题呢?我只懂python,不熟悉os库等,时间有限,请指导我。我需要建立一个简单的软件中心,而不是一个复杂的。我非常感谢您的帮助。@metis:如果这些技术不能解决我的问题怎么办?-如果您想复制ubuntu的功能,可以使用用于实现一个软件中心的库来实现另一个软件中心。显然,您可以使用完全不同的库。在任何情况下,要实现一个应用程序,您要么需要学习如何使用它可能包含的现有软件,要么需要自己实现这些部分。如果你没有时间学习如何使用现有的工具;你不太可能有时间自己去实施它们。缩小你的要求。