PIP update all packages

R에서는 비교적 쉽게 모든 패키지를 업데이트 할 수 있다. 나는 파이썬에서 PIP를 이용해서 패키지를 관리한다. PIP 자체로 모든 패키지를 업데이트 하는 방법은 아직 없는 것 같다. 나는 데비안의 도커의 컨테이너 환경에서 파이썬을 이용한다. 다음의 방법이 내가 적용하기 쉬운 방법이었다.

적당한 디렉토리에서 다음과 같은 명령어로 현재 설치된 패키지를 확인한다.

pip freeze > requirements.txt

sed를 이용해서 ‘==’를 ‘>=’로 변경한다.

sed -i 's/==/>=/' requirements.txt

PyTorch 패키지는 이 방법으로 업그레이드 할 수 없다. 그러므로 torch 와 nvidia 이름이 포함된 패키지는 제외하도록 파일에서 삭제한다.

sed -i '/torch/d' requirements.txt
sed -i '/nvidia/d' requirements.txt

다음의 명령어를 실행하면 패키지들 중에서 버젼이 더 높은 것들이 있는 것이 있으면, 해당 패키지가 업데이트 된다.

pip install -r requirements.txt --upgrade --break-system-packages