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


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.