New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keyring 22.4.0+ fails to be imported in Python 3.8+ #499
Comments
Came here with a similar report; the trick is to make the dependency conditional on Python version and then to try importing the stdlib version before falling back to the backport on ImportError. https://github.com/HypothesisWorks/hypothesis/search?q=importlib_metadata shows how we do that in Hypothesis (which indirectly depends on |
As reported, this issue is invalid. As can be clearly seen in 473465e, Keyring intentionally added the dependency for additional Python versions to adopt new features in importlib_metadata 3.6. The recommendation is to install the package with its declared dependencies and everything should work as designed. Please let me know if I can advise conda on how to support this change. |
This package was dropped earlier as its functionality was added into Python 3.8 standard library. However, this package contains features that are not (yet) part of Python's standard library. Those features are needed by python3-keyring package. So, re-introduce this package. See: jaraco/keyring#499 (comment)
This package was dropped earlier as its functionality was added into Python 3.8 standard library. However, this package contains features that are not (yet) part of Python's standard library. Those features are needed by python3-keyring package. So, re-introduce this package. See: jaraco/keyring#499 (comment)
This package was dropped earlier as its functionality was added into Python 3.8 standard library. However, this package contains features that are not (yet) part of Python's standard library. Those features are needed by python3-keyring package. So, reintroduce this package. See: jaraco/keyring#499 (comment)
This package was dropped earlier as its functionality was added into Python 3.8 standard library. However, this package contains features that are not (yet) part of Python's standard library. Those features are needed by python3-keyring package. So, reintroduce this package. See: jaraco/keyring#499 (comment)
This package was dropped earlier as its functionality was added into Python 3.8 standard library. However, this package contains features that are not (yet) part of Python's standard library. Those features are needed by python3-keyring package. So, reintroduce this package. See: jaraco/keyring#499 (comment)
Describe the bug
Keyring fails to be imported in Python 3.8+ due to this import:
keyring/keyring/backend.py
Line 12 in bab15d0
Since that functionality is part of the standard library in Python 3.8+, it needs to written as
for those versions (I understand the import is correct for older ones).
To Reproduce
Steps to reproduce the behavior:
import keyring
Expected behavior
Keyring shouldn't fail when imported.
Environment
OS: Any operating system. This was discovered in Conda-forge when creating packages for Keyring:
keyring v22.4.0 conda-forge/keyring-feedstock#62
The text was updated successfully, but these errors were encountered: