Tech News

제목pip 20.3 부터 새로운 dependency resolver (버전 의존성 해결자)가 도입되며 기본으로 쓰입니다.2020-12-03 09:54
작성자 Level 10

https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html 


1. 의존성을 해결할 때의 모순이 많이 줄었습니다.

과거(pip 20.0)에는 pip install "six<1.12" "virtualenv==20.0.2" 의 결과로 six==1.11가 설치되었는데, virtualenv==20.0.2는 six>=1.12.0,<2를 필요로 했었기에 이는 잘못된 동작입니다.

지금(20.3)부터는 아무것도 설치하지 않고 설치가 거부됩니다.


2. 엄격(깐깐)해집니다.

- 하위 의존성이 호환되지 않는 두 패키지를 한번에 설치하려할 경우, 설치가 거부됩니다.


3. 이러한 결과로, 아래 두 명령이 같은 패키지를 설치하지 않을 수 있습니다.

- pip install x && pip install y

- pip install x y


4. Constraints(lockfile), editable, == match require hash-checking 등 여러가지 변경사항도 생겼습니다.


새 dependency resolver는 --use-deprecated=legacy-resolver 로 끌 수 있으며, 이는 2021년 1월까지 (pip 21.0 release candidate) 지원됩니다.


기존에 있던 미봉책(workaround)들이 작동하지 않을 수 있습니다. 본문에 여러가지 해결방안이 나와있으니 참고해보세요.

댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)