为什么 pip3 想要在 Ubuntu 20.04 上的 installing/updating 包之后创建一个 kdewallet?
Why does pip3 want to create a kdewallet after installing/updating packages on Ubuntu 20.04?
我最近将我的系统从 Ubuntu 18.04 更新到 20.04。之后,我尝试使用提到的 shell 命令更新我所有的 pip3 包 (我将“pip”更改为“pip3”)。
更新了几个包后,出现了这个提示:
KDE Wallet Service
因为我在 updating/installing 包裹时从未见过它,所以我取消了它,导致立即重新打开相同的提示,并且终端显示以下警告:
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
在它试图安装的下一个包发生同样的情况后,我按下了 CTRL+C。自从当我尝试安装一个包时,同样的事情发生了。
示例:
pip3 install numpy
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
Collecting numpy
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
Using cached numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Installing collected packages: numpy
WARNING: The scripts f2py, f2py3 and f2py3.8 are installed in '/home/gesuchter/.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.
Successfully installed numpy-1.19.2
我已经尝试通过重新安装 python3-pip 来解决我的问题。
这里有一些有用的信息:
pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
ls ~/.local/share/keyrings
default login.keyring user.keystore
find ~/.config/kwalletrc
find: ‘/home/gesuchter/.config/kwalletrc’: No such file or directory
此问题已在上游报告,请参阅 https://github.com/pypa/pip/issues/8090 以及该线程中链接的其他问题。
tl;dr: 新版本的 pip 过于热切地搜索密钥环以获取访问某些软件包下载可能需要的凭据。如果它最终查询了一个尚不存在的密钥环(例如 kdewallet),则会出现您注意到的提示。目前尚不清楚如何以及在哪个版本中完全修复此问题。
编辑: 请注意,Whosebug 不是错误报告的正确位置:pip 维护者不太可能看到这一点,据我所知,它也不是真正的计算器的范围。这可能是另一个 stackexchange 社区的问题(也许是超级用户?)。但是由于您已经确定这是 pip 的问题,因此报告的最佳位置是 https://github.com/pypa/pip
上的自述文件中指示的任何通信渠道
您可以将其添加到您的启动文件
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
这为我解决了:
python3 -m keyring --disable
运行 添加:
[backend]
default-keyring=keyring.backends.null.Keyring
到文件 ~/.config/python_keyring/keyringrc.cfg
.
据推测 中提到的 PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
提供了一种环境变量方法来实现相同的结果。
如果没有这个,每次我尝试安装软件包时它都会显示烦人的 KDE 密钥环弹出窗口:
Google,索引这个:
The KDE Wallet System
The application '/usr/lib/python3/dist-packages/pip/__main__.py'
has requested to create a new wallet named 'kdewallet'. This is used to store sensitive data in a secure fashion. Please choose the new wallet's type below or click cancel to deny the application's request.
- Classic, blowfish encrypted file
- Use GPG encryption, for better protection
测试于 Ubuntu 21.04,Python 3.9.5,pip3 20.3.4,keyring==22.2.0。
我最近将我的系统从 Ubuntu 18.04 更新到 20.04。之后,我尝试使用提到的 shell 命令更新我所有的 pip3 包
更新了几个包后,出现了这个提示: KDE Wallet Service
因为我在 updating/installing 包裹时从未见过它,所以我取消了它,导致立即重新打开相同的提示,并且终端显示以下警告:
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
在它试图安装的下一个包发生同样的情况后,我按下了 CTRL+C。自从当我尝试安装一个包时,同样的事情发生了。
示例:
pip3 install numpy
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
Collecting numpy
WARNING: Keyring is skipped due to an exception: Failed to unlock the keyring!
Using cached numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Installing collected packages: numpy
WARNING: The scripts f2py, f2py3 and f2py3.8 are installed in '/home/gesuchter/.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.
Successfully installed numpy-1.19.2
我已经尝试通过重新安装 python3-pip 来解决我的问题。
这里有一些有用的信息:
pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
ls ~/.local/share/keyrings
default login.keyring user.keystore
find ~/.config/kwalletrc
find: ‘/home/gesuchter/.config/kwalletrc’: No such file or directory
此问题已在上游报告,请参阅 https://github.com/pypa/pip/issues/8090 以及该线程中链接的其他问题。
tl;dr: 新版本的 pip 过于热切地搜索密钥环以获取访问某些软件包下载可能需要的凭据。如果它最终查询了一个尚不存在的密钥环(例如 kdewallet),则会出现您注意到的提示。目前尚不清楚如何以及在哪个版本中完全修复此问题。
编辑: 请注意,Whosebug 不是错误报告的正确位置:pip 维护者不太可能看到这一点,据我所知,它也不是真正的计算器的范围。这可能是另一个 stackexchange 社区的问题(也许是超级用户?)。但是由于您已经确定这是 pip 的问题,因此报告的最佳位置是 https://github.com/pypa/pip
上的自述文件中指示的任何通信渠道您可以将其添加到您的启动文件
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
这为我解决了:
python3 -m keyring --disable
运行 添加:
[backend]
default-keyring=keyring.backends.null.Keyring
到文件 ~/.config/python_keyring/keyringrc.cfg
.
据推测 PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
提供了一种环境变量方法来实现相同的结果。
如果没有这个,每次我尝试安装软件包时它都会显示烦人的 KDE 密钥环弹出窗口:
Google,索引这个:
The KDE Wallet System
The application
'/usr/lib/python3/dist-packages/pip/__main__.py'
has requested to create a new wallet named 'kdewallet'. This is used to store sensitive data in a secure fashion. Please choose the new wallet's type below or click cancel to deny the application's request.
- Classic, blowfish encrypted file
- Use GPG encryption, for better protection
测试于 Ubuntu 21.04,Python 3.9.5,pip3 20.3.4,keyring==22.2.0。