When using the MicroPico extension, for example, with its Remote Workspace support that adds a multi-root workspace as such:
{
"folders": [
{
"path": "."
},
{
"name": "Mpy Remote Workspace",
"uri": "pico:"
}
]
}
The Pylint server (ms-python.pylint) appears to fail because of a non-existent "path" attribute (or similar). I'm also seeing the same error with both the Black Formatter (ms-python.black-formatter) and isort (ms-python.isort), ending with the same stack frames.
[info] Server: Start requested.
[info] Exception occurred for message "0"
Traceback (most recent call last):
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 300, in _send_handler_result
self._send_response(msg_id, result=future.result())
~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 447, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 396, in __get_result
raise self._exception
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 273, in _run_generator
value = future.result() if future is not None else None
~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 447, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 396, in __get_result
raise self._exception
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 236, in _execute_handler
result = handler(*args, **kwargs)
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\tool\lsp_server.py", line 718, in initialize
tool_server.apply_settings(params)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\server.py", line 482, in apply_settings
self.update_workspace_settings(settings)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\server.py", line 152, in update_workspace_settings
key = normalize_path(
uris.to_fs_path(setting["workspace"]),
resolve_symlinks=self.config.resolve_symlinks,
)
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\paths.py", line 236, in normalize_path
path = pathlib.Path(file_path)
File "C:\Program Files\Python314\Lib\pathlib\__init__.py", line 150, in __init__
raise TypeError(
...<2 lines>...
f"not {type(path).__name__!r}")
TypeError: argument should be a str or an os.PathLike object where __fspath__ returns a str, not 'NoneType'
[info] [Error] Server initialization failed.
Relevant source:
|
def update_workspace_settings(self, settings: list[dict[str, Any]] | None) -> None: |
Workarounds
A workaround is to disable the Remote Workspace, and not enable until after the analysis servers have already started.
When using the MicroPico extension, for example, with its Remote Workspace support that adds a multi-root workspace as such:
{ "folders": [ { "path": "." }, { "name": "Mpy Remote Workspace", "uri": "pico:" } ] }The Pylint server (
ms-python.pylint) appears to fail because of a non-existent "path" attribute (or similar). I'm also seeing the same error with both the Black Formatter (ms-python.black-formatter) and isort (ms-python.isort), ending with the same stack frames.Relevant source:
vscode-common-python-lsp/python/vscode_common_python_lsp/server.py
Line 137 in 0258b22
Workarounds
A workaround is to disable the Remote Workspace, and not enable until after the analysis servers have already started.