requirements.txt에서 물결표 같음 (~ =)은 무엇을 의미합니까?


109

에서 requirements.txt내가 사용하고 파이썬 라이브러리, 요구 사항 중 하나는 같이 지정됩니다

mock-django~=0.6.10

무슨 ~=뜻이야?

답변:


126

이는 0.6.10보다 크거나 같은 최신 버전의 패키지를 선택하지만 여전히 0.6. * 버전이므로 예를 들어 0.7.0을 다운로드하지 않습니다. 패키지 관리자가 의미 론적 버전 관리 (주요 버전에서만 변경 사항이 발생해야 함)를 존중하는 경우 보안 수정 사항을 얻을 수 있지만 이전 버전과의 호환성은 유지합니다.

또는 PEP 440에서 말한대로 :

주어진 릴리스 식별자 VN에 대해 호환 가능한 릴리스 절은 비교 절 쌍과 거의 동일합니다.

>= V.N, == V.*


3
"대략"? 이 동등성에 대한 예외가 있습니까?
AXO

1
@AXO AFAIK, 사전 / 사후 릴리스 버전 일치에는 미묘한 차이가 있습니다. 대부분의 경우 이것은 기본 사용에 영향을 미치지 않습니다. 어쨌든 주로 주 / 부 버전 일치로 제한됩니다.
Maxime Lorant

14

이것이 '호환 가능한 릴리스' 버전 지정자 입니다.

이는 다음과 동일 mock-django >= 0.6.10, == 0.6.*하며 호환 될 것으로 예상되는 버전과 일치하는 깔끔한 방법입니다. 평범한 영어에서는 "최소한 0.6.10만큼 새로운 버전의 mock-django가 필요하지만 호환되지 않을 정도로 새롭지는 않습니다."라고 말하는 것과 비슷합니다.

이 모든 버전 번호 항목에 대해 잘 모르겠다면 PEP440 버전 체계를 빠르게 살펴보면 분류 할 수 있습니다!


7

~ =는 호환되는 버전을 의미합니다. 0.6.10 이상 (0.6. *) 이상.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.