更新pip后出现WARNING:pip is being invoked by an old script wrapper

pip原始版本 9.0.1

tangzhe@tangzhe:~ pip --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

更新pip至最新版本

pip install --upgrade pip

再查看pip版本时出现WARNING

tangzhe@tangzhe:~ pip --version
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.3.1 from /home/tangzhe/.local/lib/python3.6/site-packages/pip (python 3.6)

提示内容显示,如果在pip前面加上"python -m "就不会出现警告,试了下,确实如此

tangzhe@tangzhe:~$ python -m pip --version
pip 21.3.1 from /home/tangzhe/.local/lib/python3.6/site-packages/pip (python 3.6)

但其实问题没有解决,而且这样很麻烦(当然也可以修改alias,让pip指向python -m pip)

在网上查了下,有建议通过"python -m "强制重新安装pip

python -m pip install --upgrade --force-reinstall pip

但是我这边pip --version的时候还是会出现WARNING - -!

强制重新安装时也出现了WARNING,而且这个WARNING指出了问题!!!

  WARNING: The scripts pip, pip3 and pip3.6 are installed in '/home/tangzhe/.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.

将 '/home/tangzhe/.local/bin' 添加到 PATH 后就不会报错了

* 其实一开始pip --version的两个路径就说明了问题

更新前的pip在 "/usr/lib/python3/dist-packages", 更新后的pip在 "/home/tangzhe/.local/lib/python3.6/site-packages/pip",而后一个路径并不在PATH里面!

【总结】pip相关的文章

  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: pip正在被一个旧的脚本包装器调用。在未来的pip版本中,这将失败。请参考https://github.com/pypa/pip/issues/5599以获取修复潜在问题的建议。为避免此问题,您可以使用“-m pip”调用python,而不是直接运行pip。 ### 回答2: 这个警告信息表示你的pip正在被一个旧的脚本包装器调用,而这种调用方式在将来的版本中可能会失败。为了解决这个问题,你可以采用一些方法: 1. 按照警告信息给出的链接进入GitHub上的pip项目,查看如何解决这个问题。 2. 不要直接运行pip,而是使用“-m pip”选项来调用python,这是一种推荐的解决方案。 这个问题的根本原因可能是你正在使用一个旧版本的脚本或使用了一个错误的调用方式,因此,你需要找到正确的pip调用方式,或者更新你的pip版本。为了确保pip在当前的环境中可以正常运行,你需要查看你的Python和pip的版本是否匹配,如果不匹配,需要更新其中一方。 总的来说,如果你遇到这个问题,建议先使用“-m pip”选项来调用pip,如果问题依然存在,那就需要采用其他方法来解决了。在python代码中,调用pip的方式也应该更改为“-m pip”方式,这样可以避免这个警告信息的出现,保证稳定运行。 ### 回答3: 在使用pip命令时,如果出现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版本已经存在一些问题,而且这些问题在未来版本中将会导致失败。这种情况下我们需要采取措施来解决这个问题。 要解决这个问题,最好的方法是遵循其中提供的建议,查看相关链接,获取深入了解和具体的建议。同时我们也可以通过使用“-m pip”命令来避免这个问题的发生。这个命令会直接调用Python的pip模块,而不是直接运行pip命令。因此,如果我们使用“-m pip”命令来代替直接运行“pip”命令,就可以有效地解决这个bug。 值得注意的是,这个问题的根本原因可能是在也有程序中使用了旧版本的pip,或是某些打包工具将旧版本的pip作为依赖添加到了程序中。为了彻底解决这个问题,我们需要检查程序中的pip版本,并确保其为最新版本。需要注意的是,如果你使用的是某些自动打包工具,那么也需要确保其不会添加旧版的pip到程序中。 总之,要解决“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”的问题,我们需要首先了解其原因,并随后采取相应措施进行修复和避免。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值