Ubuntu 多版本 Python安裝 pip 及 pip版本管理
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
会与当前用户一致
参考