Loading

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)

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 并不会去保留这些环境变量,需要特别指明才可以
    sudo gedit /etc/sudoers
    
    在 secure_path 变量里加上 /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 会与当前用户一致

参考

  1. https://zhuanlan.zhihu.com/p/37473690
posted @ 2020-12-17 16:06  锦瑟,无端  阅读(3169)  评论(0编辑  收藏  举报