-
-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Description
Hi, a pip user reported to us that pip was crashing because their registry was missing one of the keys that platformdirs checks (pypa/pip#13567). As far as I am aware, platformdirs has alternative methods to determinate the site configuration path on Windows. I'd like to propose platformdirs uses these alternatives methods if the registry lookup raises an exception:
Error example:
File "C:\example\venv\Lib\site-packages\pip\_internal\configuration.py", line 70, in get_configuration_files
os.path.join(path, CONFIG_BASENAME) for path in appdirs.site_config_dirs("pip")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\example\venv\Lib\site-packages\pip\_internal\utils\appdirs.py", line 48, in site_config_dirs
dirval = _appdirs.site_config_dir(appname, appauthor=False, multipath=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\example\venv\Lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 146, in site_config_dir
).site_config_dir
^^^^^^^^^^^^^^^
File "C:\example\venv\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 67, in site_config_dir
return self.site_data_dir
^^^^^^^^^^^^^^^^^^
File "C:\example\venv\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 56, in site_data_dir
path = os.path.normpath(get_win_folder("CSIDL_COMMON_APPDATA"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\example\venv\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 209, in get_win_folder_from_registry
directory, _ = winreg.QueryValueEx(key, shell_folder_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
Metadata
Metadata
Assignees
Labels
No labels