Ubuntu环境下完美解决‘ pip is being invoked by an old script wrapper. ...‘问题

        当我们使用pip需要更新时,会提示如下警告:

You are using pip version 9.0.1, however version 19.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

然而,使用提示的命令更新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.

        网上的很多答案都是使用 python -m pip install XXX 进行安装,这种安装方式比较麻烦,且并没有从根本上解决该问题。出现该问题的原因主要是安装pip与更新pip的方式不匹配。当ubuntu系统不存在pip时,会提示使用 sudo apt install python3-pip 进行pip的安装,而更新是基于Python的方式进行管理,即 python -m pip install --upgrade pip 。

        为了方便的进行pip的管理,将原安装的pip卸载后,然后依靠python进行pip的安装,可参考pip说明文档进行安装。

卸载pip

# 利用python卸载安装的pip模块
pip uninstall pip 
# python -m pip uninstall pip

# 查看系统中安装的pip
dpkg -l | grep pip

# 卸载系统中的pip
sudo dpkg -remove python3-pip

安装具体有两种方式:

1. python版本为3.10时,可执行

python -m ensurepip --upgrade

2. 利用get-pip.py文件进行安装

# 下载get-pip.py文件
wget https://bootstrap.pypa.io/get-pip.py

# 在包含get-pip.py文件的目录下
python get-pip.py

3. 若报错,"ModuleNotFoundError: No module named 'distutils.cmd'",可先执行以下操作后再进行上述.py文件的安装

apt-get install python3-distutils

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值