Skip to content

Python:Constraints

Categories

Version specifiers

~=같은 버전 지정 방법. 자세한 내용은 PEP 440#Version specifiers 항목 참조.

requirements.txt vs constraints.txt

특정 파이썬 버전마다 설치해야할 조건이 다르다면:

Django==1.8.12
django-allauth==0.25.2
oauthlib==1.0.3
python-openid==2.2.5   ; python_version < '3.0'
python3-openid==3.0.10 ; python_version >= '3.0'
defusedxml==0.4.1      ; python_version >= '3.0'
requests==2.9.1
requests-oauthlib==0.6.1

좀 지저분해진다.

requirements.txt 는 반드시 설치할 항목들이다. 반면 constraints.txt 는 제약 조건만 걸린다.

예를 들면:

-c constraints.txt
Django==1.8.12
django-allauth==0.25.2

이 경우 Django==1.8.12django-allauth==0.25.2는 반드시 설치되며, 이 과정에서 종속 패키지로 설치할 조건만 constraints.txt를 확인하게 된다.

추 후 버전이 올라가게될 때 불필요해지는 패키지가 생길 수 있는데 이런 "제약 조건 (Constraints)"에 해당하는 건 constraints.txt에 넣어야 한다.