cannot import name ‘packaging’ from ‘pkg_resources’ 에러 해결방법

최근 WebUI 설치를 진행하던 중 기존에는 본 적 없는 cannot import name ‘packaging’ from ‘pkg_resources’ 에러가 발생했습니다. 이미 Automatic1111 깃 repository에서도 며칠 전부터 지속적으로 해당 버그에 대해 리포트가 올라오고 있는 상황인데요, 일부 유저들이 해당 오류에 대한 해결책을 제시하고 있으며, 필자 또한 그 해결책을 참고하여 정상적으로 설치를 완료하고 실행할 수 있었습니다. 본문에서 오류 해결 방법에 대해 살펴보고자 합니다.

pkg_resources WebUI 설치 오류

cannot import name ‘packaging’ from ‘pkg_resources’ 오류는 WebUI를 원클릭 설치하는 과정에서 마지막 단계인 run 배치파일을 실행할 때 발생했습니다.

원래대로라면 설치가 완료되고 WebUI가 자동 실행되어야 할 시점에, 아래와 같이 ‘계속하려면 아무 키나 누르십시오…’ 메세지와 함께 패키지 리소스로부터 패키지를 임포트할 수 없어 에러가 발생합니다.

cannot import name 'packaging' from 'pkg_resources' 에러

만약 문제가 없다면 위 에러가 발생하지 않기 때문에 무시하고 넘어가셔도 됩니다.

해결방법

본 에러는 setuptools.최신버전때문인 것으로 알려져 있습니다. 따라서 우리는 setuptools를 이전 버전으로 내려주면 되는데요, 이를 위해 먼저 webui가 설치된 폴더에서 system > python 폴더로 이동합니다. 이후 python 폴더에서 파워쉘을 열어(Shift + 마우스 우클릭)주거나 파워쉘에서 해당 폴더로 디렉토리를 옮겨갑니다. 터미널 명령어로 디렉토리를 이동하는 방법이 익숙치 않은 분들은 아래 글을 참고해주시기 바랍니다.

파워쉘이 실행되면 아래와 같이 setuptools의 버전을 낮추는 명령어를 입력합니다.

.\python -m pip install setuptools==69.5.1

해결방법

명령어를 입력하면 위 그림과 같이 기존 70.0.0 버전이었던 setuptools가 69.5.1로 내려갑니다. 이렇게 버전이 낮춰지면 터미널을 닫고 다시 run 배치파일을 실행합니다. 오류가 해결되었으므로 WebUI가 정상적으로 실행됩니다.