39

I am using VS code for python development. I had to disable python language server and enable jedi to fix an excessive RAM consumption problem with python language server. Many people encountered similar problems when you search on Google.

What is the difference between jedi and python language server?

I am using Windows 10 64-bit, python 3.7.3.

user3848207
  • 3,737
  • 17
  • 59
  • 104

1 Answers1

39

Jedi is an auto-completion library written in Python while the language server is implemented in C#. The latter was done for performance and to share a common code base between the Python extension for VS Code and the Python workload of Visual Studio. Eventually the language server will become the default experience in the Python extension for VS Code.

As for the memory issues, they are being actively worked on, so do make sure you are trying a new version of the language server (0.2.65 is the latest as of this writing). And if you are still having memory issues please file issues as appropriate.

Brett Cannon
  • 14,438
  • 3
  • 45
  • 40
  • Thanks for the answer. I am using the latest v1.33.1 of VS code when I encountered the memory problems. I assume the latest VS code version should use the latest most stable version of python language server. I don't have to install the language server separately. – user3848207 Apr 30 '19 at 02:55
  • @user3848207 we try to check for the latest version of the language server once a day when you launch VS Code, so we will install and update it appropriately, but you may need to quite VS Code on occasion to trigger the update. – Brett Cannon May 17 '19 at 20:32
  • 2
    I disabled jedi. Relaunch VS code and still encounter the same RAM problem. I will re-enable jedi again. – user3848207 May 19 '19 at 01:24
  • "We try to check for the latest version of the language server once a day when you launch VS Code." That's exactly why I don't use VS Code... All the stuff behind my back... – SenhorLucas Dec 06 '22 at 06:05