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

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

mock-django~=0.6.10

무슨 ~=뜻이야?



답변

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

또는 PEP 440에서 말한대로 :

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

>= V.N, == V.*


답변

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

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

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


답변

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


답변

호환 가능한 릴리스 절은 호환 가능한 릴리스 연산자 ~ = 및 버전 식별자로 구성됩니다. 지정된 버전과 호환 될 것으로 예상되는 후보 버전과 일치합니다.

자세한 내용은 https://www.python.org/dev/peps/pep-0440/#compatible-release에서 읽을 수 있습니다.


답변