Holic한 꿀팁/Python

pip가 안될 경우 (-bash: /usr/bin/pip: No such file or directory로 나올 경우)

달콤한방랑 2019. 12. 12. 14:25
728x90
반응형

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/ 

 

Installation — pip 19.3.1 documentation

Python and OS Compatibility pip works with CPython versions 2.7, 3.5, 3.6, 3.7, 3.8 and also PyPy. This means pip works on the latest patch version of each of these minor versions. Previous patch versions are supported on a best effort approach. pip works

pip.pypa.io

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)

 

하.. 이걸로 또 어쩌다보니 트러블슈팅을 했다.. 하얗게 불태워버린 기분.... (쓴웃음)


참고 사이트 (일본어)

 

hashコマンドの使い方: UNIX/Linuxの部屋

コマンド hash bash のハッシュテーブル管理用コマンド。bash の内部コマンド。 最終更新 2019-01-13 hash コマンドは、UNIX/Linux のシェルである bash において、ハッシュテーブルに登録されたパスを表示したり管理するためのコマンドである。hash コマンドは bash の内部コマンドである。 ●hash コマンドの基本的な使い方 bash のプロンプトからコマンドを入力し、bash が PATH からコマンドを見つけた場合、bash は内部のハッシュテーブルにコマンド

x68000.q-e-d.net

 

【 hash 】コマンド――シェルが記憶しているコマンドのパスを確認する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「hash」コマンドです。

www.atmarkit.co.jp

 

pip install --upgrade pipしたらNo such file or directoryになる - Qiita

こんにちはsekitakaです。 `pip`自体をアップグレードしたら`pip`の実行ができなくなってしまいました。 出力されたエラーは次の通りです。 ```bash bash-4.2# pip bash: /usr/bin/p...

qiita.com

 

반응형