Cursor python vs pylance

What’s the difference between pylance and cursor python?
where to read more?

image

Will post more about this in the general release. The gist of it is Pyright is the type system that powers the pylance language server. We forked the pyright code to build a language server with the same exact functionality - since pylance is only built for vscode

1 Like

So should I install pylance and you pyright fork would give me almost features parity?

Hi,

I created an account in the Forum just to ask what’s going on with Python Language Server. I really miss Go to Definition, Command-Click a symbol to go to its definition and Rename Symbol.

I can’t even go back to VSCode because I paid one year in advance, and I don’t want to just waste my money.

Welcome to the monopoly train, it is because Pylance is from Microsoft, and they only allow it to run on Visual Code.

I hope that Cursor team can write a document alternative solution for this.

Select Python extension, version v2023.18.0 and switch to Jedi instead of Pylance work for me

For some reason if you create a new user on your mac, install cursor from scratch, importing no extensions, then install python, it will install Pylance (a version that seems to work in Cursor).

You can then copy that from ~/.cursor/extensions into your original user folder and then magically Pylance does work.

To add a bit of context to this, it seems that when I created a new user, that user was using the darwin-arm64 version of the extensions rather than the universal ones found with the old user. The problem is that when upgrades happen, Cursor is replacing the arm64 versions with universal and they’re the wrong versions.

In the end I had to fully migrate to the new user created. There’s some bug where for certain profiles it’s defaulting to universal, which I assume is amd64 architecture rather than arm64 (found in new M series macs).

It was a huge pain to have to migrate users on the system, but it totally fixed Python support. What would be good is if there was a way to force architecture for extensions.

It’s all file system, right? So someone should find out what the difference is that makes Cursor choose the wrong version.