diff --git a/news/89.bugfix.rst b/news/89.bugfix.rst new file mode 100644 index 0000000..b27dae997 --- /dev/null +++ b/news/89.bugfix.rst @@ -0,0 +1 @@ +Skip invalid entries from Windows registry. diff --git a/src/pythonfinder/models/path.py b/src/pythonfinder/models/path.py index d112386..7a19718 100644 --- a/src/pythonfinder/models/path.py +++ b/src/pythonfinder/models/path.py @@ -302,7 +302,7 @@ def _remove_path(self, path): normalized = normalize_path(current_path) if normalized != target: new_order.append(normalized) - new_order = [p for p in reversed(new_order)] + new_order = [ensure_path(p).as_posix() for p in reversed(new_order)] return attr.evolve(self, path_order=new_order, paths=new_paths) def _setup_asdf(self): diff --git a/src/pythonfinder/models/windows.py b/src/pythonfinder/models/windows.py index ca1a107..fb36a27 100644 --- a/src/pythonfinder/models/windows.py +++ b/src/pythonfinder/models/windows.py @@ -96,7 +96,7 @@ def get_versions(self): py_version = PythonVersion.from_windows_launcher( version_object, name=name, company=company ) - except InvalidPythonVersion: + except (InvalidPythonVersion, AttributeError): continue if py_version is None: continue