제공된 모든 검색어에 대해 '핍 검색'은 어떻게합니까?


2

PIP 검색에서 검색어에 AND를 수행하는 방법이 있습니까?

예를 들면 다음과 같습니다.

pip search django toolbar

툴바와 관련이 없더라도 모든 장고 관련 패키지를 표시하는 것 같습니다.

내가 할 수있는 최선의 방법은 다음과 같이 해결하는 것입니다.

pip search django toolbar | grep toolbar | grep django

최신 정보:

이게 낫다:

pip search toolbar | grep django

내 질문을 쓸모 없게 만든다


나의 오래된 해결책은 어리석은 것이었고, 새로운 것이 없다면 그것은 중요하지 않습니다. AND가 없으면 중요하지 않습니다. 일치하는 것이 적다고 생각하는 것을 검색하고 서로 다른 검색어를 grep
— Ciro Santilli 新疆 改造 中心 法轮功 六四事件

답변:


2

요컨대, 당신은 할 수 없습니다.

의 설치 후 pip, 나는 명령이 구현 site-packages/pip-1.2.1-py2.6.egg/pip/commands/search.py되는 곳을 살펴 보았습니다 search.

PyPi에 대한 XML-RPC 인터페이스를 사용합니다. PyPi는 http://wiki.python.org/moin/PyPiXmlRpc에 설명되어
있습니다 search(spec[, operator]). 검색 범위는 다음과 같습니다 . 설명서 참고 사항 :

다른 필드에 대한 인수는 "and"(기본값) 또는 "or"를 사용하여 결합됩니다. 예 : search ({ 'name': 'foo', 'description': 'bar'}, 'or'). 결과는 dicts { 'name': package name, 'version': package release version, 'summary': package release summary} 목록으로 리턴됩니다.

대박! 이것이 검색 연산자를 정의하는 곳입니다! 그리고 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'는 하드 코드 된 것을 볼 수 있습니다.


그리고 여러 검색을 결합하기 쉽기 때문에이를 필터링하는 것보다 더 나은 디자인의 선택이 될 수있다
— 치로 틸리新疆改造中心法轮功六四事件
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.