2017-03-07 4 views
0

pip은 내 조타 장치에서 휠을 설치하고 은 바퀴가 휠 하우스에서 누락 된 경우에만 인 경우에만 PyPI로 대체합니다 (캐싱 프록시를 통해).어떤 인덱스`pip`가 사용할지를 결정하는 것은 무엇입니까?

나는, 그들이, 프록시 PyPI 또는 조타실에서오고있어 어디 꽤 무작위로 보인다에서

pip install -U --index-url $PYPI_PROXY_URL --find-links $WHEELHOUSE_URL \ 
      -r requirements.txt 

를 호출하지만 대신에이 패키지를 얻는 곳에서 결정 됨으로써이를 달성하려고 해요 조종실이 필요한 모든 패키지를 가지고 있음에도 불구하고.

나는 이것을 결정 론적으로하고 항상 조타 장치를 먼저 선택하길 원합니다. pip으로 어떻게하면됩니까?

내가 알고있는 --no-index은 조타실 만 사용하도록 강요하지만 조타실에서 빠진 패키지에 대해 폴백 (fallback) 할 수있는 기능을 유지하려고합니다.

+0

이 정보가 도움이 되나요? http://stackoverflow.com/questions/30889494/can-pip-conf-specify-two-index-url-at-the-same-time – Randy31

+0

@ Randy31 한 색인의 우선 순위에 대해 다른 이야기는하지 않습니다. – vartec

답변

1

핍의 소스 코드에 파고 나는 발견한다 :

If not finding wheels, then sorted by version only. 
    If finding wheels, then the sort order is by version, then: 
     1. existing installs 
     2. wheels ordered via Wheel.support_index_min(self.valid_tags) 
     3. source archives 
    Note: it was considered to embed this logic into the Link 
      comparison operators, but then different sdist links 
      with the same version, would have to be considered equal 
  • 다른 모든 :

    1. 유효한 후보는 다음과 같이 작동하는 내부 _candidate_sort_key 기능을 사용하여 분류되어 있습니다 동등한 경우, 그것은 hardcoded 순서로 되돌아갑니다 :

      1. 로컬 파일 시스템
      2. 인덱스 URL을
      3. 발견 - 링크 URL을
      4. 의존성 - 링크 URL을

    위의 순서가 하드 코드 9.0.1, 그래서 더이 핍 기준으로 설정이나 매개 변수를 사용하여 변경하는 방법.