Loading
Stringify _py3.PathDistribution._path for joining
Since under Windows, that path ends up as pathlib.WindowsPath, which is
not directly compatible with os.path.join and therefore leads to an
exception in PathDistribution.load_metadata():
>>> import importlib_metadata
>>> importlib_metadata.version('path.py')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
~\Projects\importlib\metadata\importlib_metadata\api.py in metadata(self)
74 """
75 return email.message_from_string(
---> 76 self.load_metadata('METADATA') or self.load_metadata('PKG-INFO')
77 )
78
~\Projects\importlib\metadata\importlib_metadata\_py3.py in load_metadata(self, name)
65 :return: The metadata string if found, otherwise None.
66 """
---> 67 filename = os.path.join(self._path, name)
68 with contextlib.suppress(FileNotFoundError):
69 with open(filename, encoding='utf-8') as fp:
c:\tools\miniconda3\envs\moon\lib\ntpath.py in join(path, *paths)
111 return result_drive + result_path
112 except (TypeError, AttributeError, BytesWarning):
--> 113 genericpath._check_arg_types('join', path, *paths)
114 raise
115
c:\tools\miniconda3\envs\moon\lib\genericpath.py in _check_arg_types(funcname, *args)
141 else:
142 raise TypeError('%s() argument must be str or bytes, not %r' %
--> 143 (funcname, s.__class__.__name__)) from None
144 if hasstr and hasbytes:
145 raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: join() argument must be str or bytes, not 'WindowsPath'