pappasam / jedi-language-server

A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.
MIT License
596 stars 45 forks source link

Not Working with Python 3.11 #235

Closed sohang3112 closed 1 year ago

sohang3112 commented 1 year ago

I recently updated to Python 3.11. The Python Language Server crashed in VS Code (which launches it automatically). It worked fine previously with Python 3.10.

Note: The crash happened in VS Code (version 1.72.2 - latest) on Windows 11.

Output of Python Language Server in VS Code:

Traceback (most recent call last):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\run-jedi-language-server.py", line 9, in <module>
    from jedi_language_server.cli import cli
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\cli.py", line 7, in <module>
    from .server import SERVER
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\server.py", line 15, in <module>
    from pygls.lsp.methods import (
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\__init__.py", line 23, in <module>
    from pygls.lsp.types import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\__init__.py", line 6, in <module>
    from pygls.lsp.types.general_messages import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\general_messages.py", line 35, in <module>
    from pygls.lsp.types.language_features import (CallHierarchyClientCapabilities,
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\__init__.py", line 2, in <module>
    from pygls.lsp.types.language_features.call_hierarchy import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\call_hierarchy.py", line 70, in <module>
    class CallHierarchyIncomingCall(Model):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.240.0_x64__qbz5n2kfra8p0\Lib\inspect.py", line 2715, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'from' is not a valid parameter name
[Info  - 11:52:01 AM] Connection to server got closed. Server will restart.
[Error - 11:52:01 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:01 AM] Python Jedi client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
Traceback (most recent call last):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\run-jedi-language-server.py", line 9, in <module>
    from jedi_language_server.cli import cli
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\cli.py", line 7, in <module>
    from .server import SERVER
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\server.py", line 15, in <module>
    from pygls.lsp.methods import (
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\__init__.py", line 23, in <module>
    from pygls.lsp.types import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\__init__.py", line 6, in <module>
    from pygls.lsp.types.general_messages import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\general_messages.py", line 35, in <module>
    from pygls.lsp.types.language_features import (CallHierarchyClientCapabilities,
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\__init__.py", line 2, in <module>
    from pygls.lsp.types.language_features.call_hierarchy import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\call_hierarchy.py", line 70, in <module>
    class CallHierarchyIncomingCall(Model):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.240.0_x64__qbz5n2kfra8p0\Lib\inspect.py", line 2715, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'from' is not a valid parameter name
[Info  - 11:52:01 AM] Connection to server got closed. Server will restart.
[Error - 11:52:01 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:01 AM] Python Jedi client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
Traceback (most recent call last):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\run-jedi-language-server.py", line 9, in <module>
    from jedi_language_server.cli import cli
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\cli.py", line 7, in <module>
    from .server import SERVER
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\server.py", line 15, in <module>
    from pygls.lsp.methods import (
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\__init__.py", line 23, in <module>
    from pygls.lsp.types import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\__init__.py", line 6, in <module>
    from pygls.lsp.types.general_messages import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\general_messages.py", line 35, in <module>
    from pygls.lsp.types.language_features import (CallHierarchyClientCapabilities,
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\__init__.py", line 2, in <module>
    from pygls.lsp.types.language_features.call_hierarchy import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\call_hierarchy.py", line 70, in <module>
    class CallHierarchyIncomingCall(Model):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.240.0_x64__qbz5n2kfra8p0\Lib\inspect.py", line 2715, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'from' is not a valid parameter name
[Info  - 11:52:02 AM] Connection to server got closed. Server will restart.
[Error - 11:52:02 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:02 AM] Python Jedi client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:02 AM] Restarting server failed
  Message: Pending response rejected since connection got disposed
  Code: -32097 
Traceback (most recent call last):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\run-jedi-language-server.py", line 9, in <module>
    from jedi_language_server.cli import cli
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\cli.py", line 7, in <module>
    from .server import SERVER
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\server.py", line 15, in <module>
    from pygls.lsp.methods import (
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\__init__.py", line 23, in <module>
    from pygls.lsp.types import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\__init__.py", line 6, in <module>
    from pygls.lsp.types.general_messages import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\general_messages.py", line 35, in <module>
    from pygls.lsp.types.language_features import (CallHierarchyClientCapabilities,
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\__init__.py", line 2, in <module>
    from pygls.lsp.types.language_features.call_hierarchy import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\call_hierarchy.py", line 70, in <module>
    class CallHierarchyIncomingCall(Model):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.240.0_x64__qbz5n2kfra8p0\Lib\inspect.py", line 2715, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'from' is not a valid parameter name
[Info  - 11:52:03 AM] Connection to server got closed. Server will restart.
[Error - 11:52:03 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:03 AM] Python Jedi client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:03 AM] Restarting server failed
  Message: Pending response rejected since connection got disposed
  Code: -32097 
Traceback (most recent call last):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\run-jedi-language-server.py", line 9, in <module>
    from jedi_language_server.cli import cli
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\cli.py", line 7, in <module>
    from .server import SERVER
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\jedi_language_server\server.py", line 15, in <module>
    from pygls.lsp.methods import (
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\__init__.py", line 23, in <module>
    from pygls.lsp.types import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\__init__.py", line 6, in <module>
    from pygls.lsp.types.general_messages import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\general_messages.py", line 35, in <module>
    from pygls.lsp.types.language_features import (CallHierarchyClientCapabilities,
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\__init__.py", line 2, in <module>
    from pygls.lsp.types.language_features.call_hierarchy import *
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pygls\lsp\types\language_features\call_hierarchy.py", line 70, in <module>
    class CallHierarchyIncomingCall(Model):
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\SohangChopra\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\jedilsp\pydantic\utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.240.0_x64__qbz5n2kfra8p0\Lib\inspect.py", line 2715, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'from' is not a valid parameter name
[Error - 11:52:03 AM] The Python Jedi server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
[Error - 11:52:03 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:03 AM] Python Jedi client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:52:03 AM] Restarting server failed
  Message: Pending response rejected since connection got disposed
  Code: -32097 
joselsegura commented 1 year ago

Same problem here, but with Python 3.11.0 in Linux installed using pyenv. Same log

I removed Python 3.11 and the error is gone, but the Python extension in VScode still lacks a lot of features that Jedi provides, so I guess it's not working properly with Python 3.10.8 (no log shoen)

pappasam commented 1 year ago

VSCode hasn't updated to use the latest version of this project (their latest version was released 15 days ago, this project added Python 3.11 support 3 days ago).

Please raise this issue here: https://github.com/microsoft/vscode-python/issues

pappasam commented 1 year ago

Same problem here, but with Python 3.11.0 in Linux installed using pyenv. Same log

I removed Python 3.11 and the error is gone, but the Python extension in VScode still lacks a lot of features that Jedi provides, so I guess it's not working properly with Python 3.10.8 (no log shoen)

Which features are you referring to with regards to Jedi and Python 3.10.8?

pappasam commented 1 year ago

Looks like this has been resolved

joselsegura commented 1 year ago

Hi, I forgot to update.

I removed Python 3.11.0 and now I don´t see any Jedi problem in the console, but I'm still seeing some problems, probably related to Python plugin more than Jedi, so I will open the issue there.

Thank you