PIP 오류 : 아무것도 할 수 없다.
PYthon으로 개발을 하다 보면가상환경을 만들거나 PIP Install를 빈번하게 사용한다.
그런데, 간혹 PIP 자체가 에러를 보인다.
다음은 필자가 가상환경(Virtual Env.)에서 몇몇 모듈을 설치하다가 겪은 오류중 하나이다.
환경은 MacOS (Big Sur) 환경이다.
$ pip --version
Traceback (most recent call last):
File "/Users/windstream/anaconda3/envs/Pytorch/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from pip._internal.cli import cmdoptions
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
from pip._internal.cli.progress_bars import BAR_TYPES
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
from pip._internal.utils.logging import get_indentation
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
from pip._internal.utils.misc import ensure_dir
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/utils/misc.py", line 33, in <module>
from pip._internal.locations import (
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
from . import _distutils, _sysconfig
File "/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/locations/_sysconfig.py", line 8, in <module>
from pip._internal.exceptions import InvalidSchemeCombination, UserInstallationInvalid
ImportError: cannot import name 'InvalidSchemeCombination' from 'pip._internal.exceptions' (/Users/windstream/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/exceptions.py)
주요 에러 내용을 보면 다음과 같다.
ImportError: cannot import name 'InvalidSchemeCombination' from 'pip._internal.exceptions' (/Users/wind/anaconda3/envs/Pytorch/lib/python3.8/site-packages/pip/_internal/exceptions.py)
PIP._internal.exceptions ? 뭐지?
처음에는 `Pip install <module >` 을 실행 했을 때, 에러가 처음 발생 했다. 그래서, 모듈이 잘못 되어서 발생한 일인줄 알았다. 그러나, 단순 `pip` 명령만 실행해도 발생하는 것이다. 다른 kernel에서 발생하지는 않지만, 해당 kernel에서는 pip 명령어 자체가 문제가 되어 버린것이다.
pip의 어떤 명령어도 동작하지 않게 되었다.
구글 검색을 해 보니, MacOS의 최신 pip (21.1.x)의 버그로 알려져 있는 오류이다.
따라서, 기본적으로 해당 버전 (21.1.x)로 설치하거나, 업그레이드 하지 않는 것이 좋다.
그러나, 최신 Module들을 설치하는 과정에서 `pip install --upgrade pip` 등으로 업데이트 설치하는 프로세스가 포함된 경우도 많으므로 이 경우에 유의해야 할것 이다.
사실, 이 상황이 되면, pip를 이용하는 모든 것이 동작하지 않는다. 심지어는 pip 버전 확인도 되지 않아서, 정확한 현상을 파악하기까지 시간도 오래 걸린다. 다음은 `pip --version` 명령을 실행 했을 때 화면이다.
pip 자체 전체를 지우고 다시 설치할 수 도 있으나, 보통 이 경우에 문제가 되는 것은 가상환경(Virtual Env.)의 Site-packages 아래에서 문제가 발생하는 경우므로, OS 자체에서 pip를 삭제하는 것은 과한 해결 방법이라 하겠다.
따라서, 궁극적으로 현재 가상환경에만 적용되는 PIP 리소스를 다시 설치/덮어쓰면 된다.
해당하는 가상환경은 activation하고 다음 명령을 실행해 주자.
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
pip를 새로 설치하고 나며, 문제가 되는 pip 21.1.x 버전으로 설치가 되게 된다.
다시 동일한 오류가 발생하지 않으려면, 당분간은 버전을 다운그레이드 할 필요가 있다. 아래와 같이 21.0.x로 버전을 다시 설치한다. (이후 버그가 수정되면 업그레이드 하면 될것이다.)
$ pip install pip==21.0.1
그리고, 이 버그가 해결 될 때 까지는 `pip install --upgrade pip`는 피하도록 하자.
[Python] 통계 대표값 (Mean, Median, Mode) 구하기 - 패키지 사용 vs. 패키지 미사용 (0) | 2022.05.07 |
---|---|
파이썬 오디오 라이브러리 Top 5종 (Python Audio Library ) (2) | 2021.12.16 |
[파이썬] IDE 없이 블로그에서 Python 바로 실습/공부 (0) | 2020.12.05 |
[파이썬] 원격 주피터 노트북 만들기 - AWS에서 나만의 Remote Jupyter Notebook을 구동해 보자. (4) | 2020.06.04 |
[파이썬] Anaconda x Jupyter notebook 설치 및 설정 방법 - 가상환경으로 파이썬 개발환경 구성 (0) | 2020.06.04 |
댓글 영역