pip3.7 -V显示版本报错StopIteration

pip3.7 -V显示版本报错StopIteration

1. 背景

蓝区开发环境90.90.66.60环境由于他人错误升级pip3造成了如下问题:

[root@lfbn-idf1-1-1628-60 dcs-60]# pip3.7 -V
Traceback (most recent call last):
  File "/usr/local/python3.7.5/bin/pip3.7", line 33, in <module>
    sys.exit(load_entry_point('pip==22.3.1', 'console_scripts', 'pip3.7')())
  File "/usr/local/python3.7.5/bin/pip3.7", line 25, in importlib_load_entry_point
    return next(matches).load()
StopIteration

2. 排查过程

排查pip3.7软连接

[root@lfbn-idf1-1-1628-60 dcs-60]# which pip3.7
/usr/local/python3.7.5/bin/pip3.7
[root@lfbn-idf1-1-1628-60 dcs-60]# /usr/local/python3.7.5/bin/pip3.7 -V
Traceback (most recent call last):
  File "/usr/local/python3.7.5/bin/pip3.7", line 33, in <module>
    sys.exit(load_entry_point('pip==22.3.1', 'console_scripts', 'pip3.7')())
  File "/usr/local/python3.7.5/bin/pip3.7", line 25, in importlib_load_entry_point
    return next(matches).load()
StopIteration
[root@lfbn-idf1-1-1628-60 dcs-60]# ll /usr/bin/python3.7.5
lrwxrwxrwx. 1 root root 36 Jul 20 00:05 /usr/bin/python3.7.5 -> /usr/local/python3.7.5/bin/python3.7
[root@lfbn-idf1-1-1628-60 dcs-60]# ll /usr/local/python3.7.5/bin/python3.7
ls: cannot access /usr/local/python3.7.5/bin/python3.7: No such file or directory

# 检查pip3.7的bash文件
[root@lfbn-idf1-1-1628-60 dcs-60]# cat /usr/bin/pip3.7
#!/usr/local/python3/bin/python3.7
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.cli.main import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

结论:pip3.7软连接目标文件失效。 pip3.7的bash文件正常,指向目标

排查pip3软连接

[root@lfbn-idf1-1-1628-60 dcs-60]# which pip3
/usr/bin/pip3
[root@lfbn-idf1-1-1628-60 dcs-60]# ll /usr/bin/pip3
lrwxrwxrwx. 1 root root 29 Nov 12 19:52 /usr/bin/pip3 -> /usr/local/python3/bin/pip3.7
[root@lfbn-idf1-1-1628-60 dcs-60]# pip3 -V
pip 22.3.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
[root@lfbn-idf1-1-1628-60 dcs-60]# /usr/local/python3/bin/pip3.7 -V
pip 22.3.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

结论:pip3软连接正常

3. 问题修复

解决思路:使用pip3正常的源文件修复pip3.7的软连接

[root@lfbn-idf1-1-1628-60 dcs-60]# rm -f /usr/bin/pip3.7
[root@lfbn-idf1-1-1628-60 dcs-60]# ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7
[root@lfbn-idf1-1-1628-60 dcs-60]# rm -f /usr/bin/pip3.7.5
[root@lfbn-idf1-1-1628-60 dcs-60]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7.5

4. 修复验证

[root@lfbn-idf1-1-1628-60 dcs-60]# pip3.7 -V
pip 22.3.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
[root@lfbn-idf1-1-1628-60 dcs-60]# pip3.7.5 -V
pip 22.3.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
[root@lfbn-idf1-1-1628-60 dcs-60]#

总结:软连接失效,重新更新源文件或文件夹即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值