You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While trying to get flake8 to work on RISC OS, I ran across a cryptic error (not repeated here, this is due to faulty error handling on the part of flake8), and after tracking back through it, I found the following (where pyflakes is most certainly installed firmly in my path and importable in Python):
Python 3.8.8+ (riscos-1, Feb 22 2021, 21:48:54)
[GCC 4.7.4] on riscos
Type "help", "copyright", "credits" or "license" for more information.
>>> import importlib.metadata
>>> m = importlib.metadata.distribution("pyflakes")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "SDFS::RISCOSpi.$.Apps.Development.!Python3.python38.lib.importlib.metadata", line 504, in distribution
return Distribution.from_name(distribution_name)
File "SDFS::RISCOSpi.$.Apps.Development.!Python3.python38.lib.importlib.metadata", line 177, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: pyflakes
>>>
Here, importlib.metadata is failing to find distutils packages through MetadataPathFinder; while most instances in this file have been fixed, there are a couple places throughout that still have hardcoded file extensions beginning with '.' which are causing paths not to resolve, which should be using os.extsep instead. These are:
Line 422: and base.endswith('.egg'))
Line 441: suffixes = '.dist-info', '.egg-info'
Line 453: self.versionless_egg_name = self.normalized + '.egg'
Additionally, there is a typo on line 241 where "entry_point" should be "entry_points": self.read_text(f'entry_point{os.extsep}txt'))
After correcting these, I was able to run flake8 after some configuration.
I've realized that despite what I thought I might be using an outdated build. I'll double check this as soon as I have time but close if this is already corrected.
While trying to get flake8 to work on RISC OS, I ran across a cryptic error (not repeated here, this is due to faulty error handling on the part of flake8), and after tracking back through it, I found the following (where pyflakes is most certainly installed firmly in my path and importable in Python):
Here, importlib.metadata is failing to find distutils packages through MetadataPathFinder; while most instances in this file have been fixed, there are a couple places throughout that still have hardcoded file extensions beginning with '.' which are causing paths not to resolve, which should be using os.extsep instead. These are:
and base.endswith('.egg'))
suffixes = '.dist-info', '.egg-info'
self.versionless_egg_name = self.normalized + '.egg'
Additionally, there is a typo on line 241 where "entry_point" should be "entry_points":
self.read_text(f'entry_point{os.extsep}txt'))
After correcting these, I was able to run flake8 after some configuration.
I've attached a diff patch for this.
metadata_patch.diff.txt
The text was updated successfully, but these errors were encountered: