如何获得显示所有搜索结果的点子

时间:2019-05-07 08:14:54

标签: python pip

Pip给了我有限且不一致的搜索结果。

当我用pip3 search pyqt搜索子字符串pyqt时,它不包括我用pip3 search pyqt5搜索子字符串pyqt5时得到的大部分结果。由于pyqt是字符串pyqt5的一部分,因此pyqt应该比pyqt5给我更多的结果。

在您不知道确切名称的情况下搜索软件包时,这是一个大问题。 Pyqt距pyqt5仅1个字符,但pyqt5不在pyqt的搜索结果中。

In [1]: %paste

import os
pyqt = os.popen('pip3 search pyqt').readlines()
pyqt = [line.split(' ')[0] for line in pyqt if line[0].isalpha()]
pyqt5 = os.popen('pip3 search pyqt5').readlines()
pyqt5 = [line.split(' ')[0] for line in pyqt5 if line[0].isalpha()]
all = os.popen('pip3 search *').readlines()
all = [line.split(' ')[0] for line in all if line[0].isalpha()]
qt5notfound = [line for line in pyqt5 if line not in pyqt]
print(f'A search for pyqt is missing {len(qt5notfound)} results.')
print(f'A search for all packages only gives {len(all)} results.')
## -- End pasted text --

A search for pyqt is missing 64 results.
A search for all packages only gives 99 results.

In [2]: 

我确定PyPI中有超过99个软件包。他们的网站上目前显示178,863个项目。

pip3 --help没有显示任何增加搜索结果数量的选项。

https://github.com/pypa/pip/blob/master/src/pip/_internal/commands/search.py

中没有看到任何限制选项

grep -Ri limit /usr/lib/python3/dist-packages/pip/*指向utils/ui.py:class RateLimiter,但这是基于时间的。

我是否缺少选项?还是有另一个工具可以返回所有软件包?

0 个答案:

没有答案