|
|
@ -86,11 +86,14 @@ class PluginFinder(importlib.abc.MetaPathFinder):
|
|
|
|
parts = Path(*fullname.split('.'))
|
|
|
|
parts = Path(*fullname.split('.'))
|
|
|
|
for path in orderedSet(candidate_locations, lazy=True):
|
|
|
|
for path in orderedSet(candidate_locations, lazy=True):
|
|
|
|
candidate = path / parts
|
|
|
|
candidate = path / parts
|
|
|
|
|
|
|
|
try:
|
|
|
|
if candidate.is_dir():
|
|
|
|
if candidate.is_dir():
|
|
|
|
yield candidate
|
|
|
|
yield candidate
|
|
|
|
elif path.suffix in ('.zip', '.egg', '.whl') and path.is_file():
|
|
|
|
elif path.suffix in ('.zip', '.egg', '.whl') and path.is_file():
|
|
|
|
if parts in dirs_in_zip(path):
|
|
|
|
if parts in dirs_in_zip(path):
|
|
|
|
yield candidate
|
|
|
|
yield candidate
|
|
|
|
|
|
|
|
except PermissionError as e:
|
|
|
|
|
|
|
|
write_string(f'Permission error while accessing modules in "{e.filename}"\n')
|
|
|
|
|
|
|
|
|
|
|
|
def find_spec(self, fullname, path=None, target=None):
|
|
|
|
def find_spec(self, fullname, path=None, target=None):
|
|
|
|
if fullname not in self.packages:
|
|
|
|
if fullname not in self.packages:
|
|
|
|