Ubuntu 16.04安裝新版pip和pip3後無法執行(No such file or directory)
在進行pip install時python會建議安裝新版本pip,雖然可以透過pip install pip進行升級就好,但是如果用sudo升級pip會發生pip指令無法使用的狀況。(指令如下)
sudo pip install --upgrade pip
sudo pip3 install --upgrade pip
這是因為原本Ubuntu的pip指令是透過用apt-get安裝,pip在10.0.0版本有做一些改變,所以指令有改動,導致pip自我安裝新版後無法使用pip指令
預設Ubuntu 16.04安裝的pip應該是8.1.1版,用pip -V可顯示版本
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
(2020-03-02 pip,pip3更新到20.0.2)
$ pip3 -V
pip 20.0.2 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$ pip -V
pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
解法1. 修改Ubuntu內pip或pip3指令
sudo vim /usr/bin/pip改寫成
#!/usr/bin/python
# for pip > 10.0.0
import sys
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
原本Ubuntu原本出問題的pip內容是
解法2. 新增當前使用者pip指令(2020-03-02更新)
如果你升級pip後 執行pip時顯示的是bash: /home/{USER}/.local/bin/pip: No such file or directory
可以套用此解法
pip
mkdir -p ~/.local/bincat >~/.local/bin/pip <<"EOF"
#!/usr/bin/python
# for pip >= 10.0.0
import sys
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
EOF
chmod +x ~/.local/bin/pip
pip3
mkdir -p ~/.local/bincat >~/.local/bin/pip3 <<"EOF"
#!/usr/bin/python3
# for pip >= 10.0.0
import sys
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
EOF
chmod +x ~/.local/bin/pip3
留言