indygreg / PyOxidizer

A modern Python application packaging and distribution tool
Mozilla Public License 2.0
5.47k stars 239 forks source link

Missing attribute with current keyring module #562

Closed mharbison72 closed 2 years ago

mharbison72 commented 2 years ago

I tried upgrading the keyring module bundled with Mercurial (to 23.5.0) in order to see if that would fix #445. I get this error instead. (I can't tell if this is instead of the previous error, but this likely occurs earlier, and then takes a different path because the password prompt appears.)

$ ./build/pyoxidizer/x86_64-pc-windows-msvc/release/app/hg.exe in
keyring: keyring backend doesn't seem to work, password can not be restored. Falling back to prompts. Error details: 'OxidizedDistribution' object has no attribute '_normalized_name'
http authorization required
realm: SONIA :: SCM Manager
...

I can try to get a stacktrace to point to the exact origin if that helps, but I didn't have any hits on _normalized_name in hg or hgkeyring locally, or the keyring package using the github search.

indygreg commented 2 years ago

Looks like _normalized_name is a (private?) property on importlib.metadata.Distribution.

This method isn't currently implemented. Looks like it needs to be. Along with other missing APIs that are abstract per importlib.metadata.Distribution.