In GitLab by @chrisjbillington on Feb 10, 2019, 23:18
I'm using importlib_metadata 0.8 on Python 3.7 on Arch Linux.
The following example shows that pyserials metadata can't be found by importlib_metadata, even though pkg_resources has it in the working_set:
import pkg_resources
import importlib_metadata
for dist in pkg_resources.working_set:
if dist.project_name == 'pyserial':
print(dist.path)
print(dist.version)
importlib_metadata.version('pyserial')
this gives:
/usr/lib/python3.7/site-packages/pyserial-3.4-py3.7.egg-info
3.4
Traceback (most recent call last):
File "196.py", line 9, in <module>
importlib_metadata.version('pyserial')
File "/usr/lib/python3.7/site-packages/importlib_metadata/api.py", line 345, in version
return distribution(package).version
File "/usr/lib/python3.7/site-packages/importlib_metadata/api.py", line 310, in distribution
return Distribution.from_name(package)
File "/usr/lib/python3.7/site-packages/importlib_metadata/api.py", line 158, in from_name
raise PackageNotFoundError(name)
importlib_metadata.api.PackageNotFoundError: pyserial
The thing about pyserial is that its import name ('serial') does not match its project name ('pyserial'), which might have something to do with it. importlib_metadata.version gives the same exception if I input 'serial', however.
In GitLab by @chrisjbillington on Feb 10, 2019, 23:18
I'm using importlib_metadata 0.8 on Python 3.7 on Arch Linux.
The following example shows that pyserials metadata can't be found by importlib_metadata, even though pkg_resources has it in the working_set:
this gives:
The thing about pyserial is that its import name ('serial') does not match its project name ('pyserial'), which might have something to do with it. importlib_metadata.version gives the same exception if I input 'serial', however.