有段時間沒有用 pip ,今天用到的時候報一串warning,還以為是什么了不得的故障,百度了一圈都沒查到解決辦法,卸載安裝升級走了好幾遍,差點以為pip要不能用了。。
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. pip 21.2.4 from /Users/zhenghaibo1/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)
接着想起來這段時間改過幾次環境變量,中間一度導致 ls、vim 這種基礎命令不可用,而電腦上安裝了多個版本的 python ,之前使用 pip install 安裝 pytest ,也不能直接在控制台使用 pytest 命令,根本原因就在於環境變量的配置,於是找到 pip 的安裝路徑,查看本地安裝了哪些版本的 pip
結果很明顯,本機的pip竟然有三個包,於是修改環境變量定向到 pip3(我查看了pip3和pip3.9的版本是一致的~)
alias pip="/{python安裝路徑}/bin/pip3"
之前遇到的 pytest 無法直接執行用的也是同樣的辦法解決,但因為當時找不到 pytest 安裝路徑,其實走了個邪路- -!
alias pytest="/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pytest"
可能很少有人把 python -m pytest 這樣的執行語句直接寫到環境變量里吧-。-
總之問題解決了~