pip 를 쳤을 경우, 다음과 같이 나오는 경우가 있다.
나는 내부에 설치되어 있던 python2를 멋대로 지우고 나서
엎친데 덮친 격으로 yum만이 아니라 pip마져 듣지 않게 되어서.. 결국 이런 오류까지 나버렸다.
python을 어찌해야하나 하며 구글링을 하던 그때!
$ ~ pip3 -V Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in from pip._internal import main ModuleNotFoundError: No module named 'pip._internal' |
강제로 pip를 설치하는 방법을 찾아냈다.
공식 사이트에도 게재되어 있으니 참고
https://pip.pypa.io/en/stable/installing/
python3의 경우는 아래와 같은 커맨드를 입력해서 설치.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py --force-reinstall |
혹은 python2의 경우
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py --force-reinstall |
wget으로 하는 경우
wget https://bootstrap.pypa.io/get-pip.py python get-pip.py ※python2의 경우 python3 get-pip.py ※python3의 경우 |
Python 2.7에서는 python3을 python으로 pip3을 pip으로 바꿔서 치므로 명심해 둘 것.
예) python2의 경우
[root@localhost bin]# pip -V |
예) python3의 경우 $ ~ pip3 -V로 확인
[root@localhost bin]# pip -V pip 19.3.1 from /usr/lib/python3.5/site-packages/pip (python 3.5) |
나는 버전이 2.7이니까 아래와 같이 확인이 되었으나, 업그레이드를 시켰더니 안된다.
pip install -U pip |
이럴 경우에는 sudo를 붙여서 하면 된다지만, 나는 잘 안되더라고...(아니 또 뭐냐구요..)
-bash: /usr/bin/pip: No such file or directory |
나와 같이 강제로 pip를 재설치해도 아래와 같이 안 될 경우,
다음과 같은 방법이 있다고 해서 실행해보았다.
자주 사용되는 커맨드는 해쉬테이블이라는 곳에 기억되는 데, 환경 변수 PATH에 저장되어 있는 장소순으로 커맨드를 검색하며, 이 테이블을 표시해주는 커맨드가 바로 「hash」커맨드라고 한다. 즉, bash가PATH에서 커맨드를 찾았을 경우,bash는 내부의 해쉬테이블에 커맨드를 등록하여 다음부터는 그 해쉬 정보를 이용한다.
아마도 나의 경우는pip를 업그레이드 해주었기에 해쉬테이블에 저장된 패스 정보를 지워줘야 하는 듯 했다.
hash -r |
정말 되었다!!!
참고로 hash -r의 경우는 해쉬테이블 전체를 지우는 명령어인데, 혹시나해서 실행해보니 되었다!!
[root@localhost ~]# pip -V pip 19.3.1 from /usr/lib/python2.7/site-packages/pip (python 2.7) |
하.. 이걸로 또 어쩌다보니 트러블슈팅을 했다.. 하얗게 불태워버린 기분.... (쓴웃음)
참고 사이트 (일본어)
'Holic한 꿀팁 > Python' 카테고리의 다른 글
Python 문자열 표기에 대해서 (0) | 2019.12.13 |
---|---|
Python print(end = “” ) error가 일어날 경우 (0) | 2019.12.12 |
Python(파이썬)에서 SyntaxError가 일어날 경우 (0) | 2019.12.11 |
Python3 사용시, yum이 작동하지 않을 때 (0) | 2019.12.03 |
Python 문자 정렬 (0) | 2019.09.05 |