poetry installs latest keyring but requires incompatible importlib-metadata
See original GitHub issue-
I am on the latest Poetry version.
-
I have searched the issues of this repo and believe that this is not a duplicate.
-
If an exception occurs when executing a command, I executed it again in debug mode (
-vvv
option). -
OS version and name: CircleCI docker image: cimg/python:3.7.10
-
Poetry version: 1.1.13
-
Python version: 3.7.10
Issue
Immediately after installing the latest version of poetry (1.1.13) via pip
(i.e., pip install -U poetry
), a call to poetry config http-basic.myrepository $USERNAME $PASSWORD
fails with the following:
TypeError
entry_points() got an unexpected keyword argument 'group'
at ~/.pyenv/versions/3.7.10/lib/python3.7/site-packages/keyring/backend.py:196 in _load_plugins
192│ of the plugin at initialization time.
193│
194│ `initialize_func` is optional, but will be invoked if callable.
195│ """
→ 196│ for ep in metadata.entry_points(group='keyring.backends'):
197│ try:
198│ log.debug('Loading %s', ep.name)
199│ init_func = ep.load()
200│ if callable(init_func):
Exited with code exit status 1
Upon investigation, I noticed this new complaint from pip
during installation:
ERROR: keyring 23.5.0 has requirement importlib-metadata>=3.6, but you'll have importlib-metadata 1.7.0 which is incompatible.
That appears to be a consequence of the change, introduced in poetry 1.1.13, allowing the most recent version of keyring. In pyproject.toml
for poetry itself, I see this for v1.1.13:
keyring = [
{ version = "^18.0.1", python = "~2.7" },
{ version = "^20.0.1", python = "~3.5" },
{ version = ">=21.2.0", python = "^3.6" }
]
and this for 1.1.12:
keyring = [
{ version = "^18.0.1", python = "~2.7" },
{ version = "^20.0.1", python = "~3.5" },
{ version = "^21.2.0", python = "^3.6" }
]
(note the change from caret to >=
)
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (3 by maintainers)
TL;DR solution for those who stuck in the same problem
Hey,
I’m closing this because it’s not a Poetry issue.
pip
seems to wrongly resolve the dependencies here. However we will change the version constraint ofimportlib-metadata
to>=1.6.0
because there is no reason to restrict it more tight.fin swimmer