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