Як я можу "піп-пошук" для всіх наданих пошукових термінів?


2

Чи є спосіб зробити І на пошукових термінах під час пошуку в pip?

Наприклад, роблячи:

pip search django toolbar

схоже, показують усі пов'язані з django пакети, навіть якщо вони не мають нічого спільного з панеллю інструментів.

Найкраще, що я можу зробити, це вирішити:

pip search django toolbar | grep toolbar | grep django

ОНОВЛЕННЯ:

це краще:

pip search toolbar | grep django

і робить моє питання марним


моє старе вирішення було нерозумним, з новим я бачу, що це не має значення, якщо немає І: просто шукайте те, що, на вашу думку, має менше збігів, і
прослідкуйте

Відповіді:


2

Словом, ви не можете.

Після встановлення pip, я переглянув site-packages/pip-1.2.1-py2.6.egg/pip/commands/search.py, де searchсаме реалізована команда.

Він використовує інтерфейс XML-RPC для PyPi, який задокументований на http://wiki.python.org/moin/PyPiXmlRpc.
Ми можемо побачити, що слід пошуку search(spec[, operator]). Документація примітки:

Аргументи для різних полів поєднуються, використовуючи або "і" (за замовчуванням) або "або". Приклад: пошук ({'name': 'foo', 'description': 'bar'}, 'або'). Результати повертаються у вигляді списку диктів {'ім'я': ім'я пакета, 'версія': версія випуску пакета, 'резюме': резюме випуску пакета}

Дивовижно! Тож саме тут ми визначаємо пошуковий оператор! І andце навіть за замовчуванням!

Тепер повернемось до search.py...

def search(self, query, index_url):
    pypi = xmlrpclib.ServerProxy(index_url, pip.download.xmlrpclib_transport)
    hits = pypi.search({'name': query, 'summary': query}, 'or')
    return hits

І тут ми бачимо, що 'or'жорсткий код.


і може бути кращим вибором дизайну, оскільки простіше поєднувати декілька пошуків, ніж їх фільтрувати
Ciro Santilli 新疆 改造 中心 996ICU 六四 事件
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.