제공된 모든 검색어에 대해 ‘핍 검색’은 어떻게합니까? 같습니다. 내가 할 수있는 최선의 방법은 다음과 같이

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

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

pip search django toolbar

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

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

pip search django toolbar | grep toolbar | grep django

최신 정보:

이게 낫다:

pip search toolbar | grep django

내 질문을 쓸모 없게 만든다



답변

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

의 설치 후 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'는 하드 코드 된 것을 볼 수 있습니다.


답변