본문 바로가기

개발/Python

정규식을 사용하여 여러 패키지 버전 한 번에 지우기

!pip install google-auth==1.27.1
!pip install google-auth-oauthlib==0.4.3
!pip install grpcio==1.36.1
!pip install markdown==3.3.4
!pip install oauthlib==3.1.0
!pip install protobuf==3.15.5
!pip install pyasn1==0.4.8
!pip install pyasn1-modules==0.2.8
!pip install requests-oauthlib==1.3.0
!pip install rsa==4.7.2
!pip install tensorboard==2.4.1
!pip install tensorboard-plugin-wit==1.8.0
!pip install tensorboardx==2.1
# !pip install torch==1.6.0

다른 레포지토리를 실행해보면서, 버전이 오래 된 것이 많아 설치에 오류를 겪고 패키지 버전을 하나 하나 손으로 지우다가 "왜 이러고 있지 정규식도 배웠는데;;" 하며 정규식을 써 보았다.

먼저 버전이 명시된 pip install 명령어들을 txt라는 변수에 할당해준다.

import re

re.sub(r"==.+\d","",txt)

다음으로 정규식을 사용해, ==로 시작하고, .을 사용해 줄바꿈 제외 모든 문자와 매치하되, +을 사용해 반복될 수 있고, 숫자와 매치되는 부분을 ""로 대치해준다.

그러면 다음과 같은 결과물이 나오는데, 끝에 복사 버튼을 눌러 코드 파일에 붙여주면 정상적으로 제거된 걸 볼 수 있다.