Ubuntu 多版本 Python安裝 pip 及 pip版本管理
阿新 • • 發佈:2020-12-17
ubuntu 中存在多個版本的 Python,本文解決如何安裝和使用多個版本的 Python 對應的 pip
1. 安裝 pip 包
-
以
python3.8
為例curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# 安裝對應版本 pip python3.8 get-pip.py
注意,此時終端會發出警告:
- WARNING: The scripts pip, pip3 and pip3.8 are installed in '/home/chang/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. - 環境變數的操作基於此警告
pip3.8 -V
pip3.8: command not found
pip3 -V # 會輸出 ubuntu18.04 預設安裝的版本
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
- WARNING: The scripts pip, pip3 and pip3.8 are installed in '/home/chang/.local/bin' which is not on PATH.
2. 配置 pip 環境變數
- 當前使用者
驗證是否配置成功:gedit ~/.bashrc # 在檔案最後新增路徑,該路徑來源於第一步中安裝 pip 時發出的警告 export PATH=/home/chang/.local/bin:$PATH source ~/.bashrc
pip3.8 -V
此時輸出: pip 20.3.3 from /home/chang/.local/lib/python3.8/site-packages/pip (python 3.8)
而 pip3 仍是安裝 ubuntu 時預設的 python3.6 - root 使用者
此時輸入sudo pip3.8 -V
仍會提示找不到命令。
這是因為 sudo 在切換成 root 使用者的時候,env 並不會去保留這些環境變數,需要特別指明才可以
在 secure_path 變數里加上sudo gedit /etc/sudoers
/home/chang/.local/bin
# 不要直接 copy Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chang/.local/bin"
此時再在終端使用
sudo pip3.8
會與當前使用者一致
參考