Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bundle Python language server #6

Open
lgeiger opened this issue Sep 13, 2017 · 8 comments
Open

Bundle Python language server #6

lgeiger opened this issue Sep 13, 2017 · 8 comments

Comments

@lgeiger
Copy link
Collaborator

lgeiger commented Sep 13, 2017

It would be great to not require users to install pyls by themselves.

This could be done similar to ide-php.

@stavinsky
Copy link

Do you think that is good idea? Many of us use different virtualenvs and don't want to put pyls globally for example.

@Evpok
Copy link

Evpok commented Sep 18, 2017

That is the point : having a bundled pyls would remove the need to install it globally. As for working with virtualenvs, there could be a setting switch to use pyls from $PATH (an thus from virtualenv) instead of the bundled one.

@exploide
Copy link

exploide commented Oct 5, 2017

This would really simplify the setup process and avoids cluttering the user's python environment.

I guess the way to go is a separate virtualenv inside the atom config folder, where pyls and its dependencies can live. Or do you have another mechanism in mind?

Personally, I would consider it the greatest benefit when ide-python would occasionally check for new versions of these installed packages. This would give the user easy and automated access to the newest version of pyls and the other packages. But I'm not sure how such occasional update checks can be implemented. I see issues in other ide-x packages where this is not solved.

@ghisvail
Copy link

It is already quite straightforward to install user-wide via pip install --user python-language-server. I am not convinced with the benefits of bundling in this particular case. Meanwhile, you'd have to maintain the bundled copy or setup scripts depending on your bundling method of choice.

@ghisvail
Copy link

ghisvail commented Jan 9, 2018

Actually, I came across a use case where bundling does make sense: installation of Atom via flatpak. Due to the sandboxing nature of flatpak, Atom cannot have access to the user's or system's pyls. Installing pyls alongside ide-python would solve this issue. The path of the pyls executable could be made configurable so that it could point to the user's or system's one if need be.

Currently, the Atom flatpak maintainer circumvents this limitation by bundling pyls within the flatpak bundle, but this approach won't scale as the popularity of language servers increases. Instead, I would expect Atom-IDE packages to install everything required for their use, including the corresponding language server itself.

@lgeiger
Copy link
Collaborator Author

lgeiger commented Jan 10, 2018

Cool, thanks everybody for the great suggestions.
I probably won't get to this any time soon, but I'm happy to take contributions if you're interested in making this happen.

@segevfiner
Copy link
Contributor

Do note that pyls is affected by the version of Python it is ran with. And even when vendored it should probably still be possible to use your own installation of pyls if you want an updated version.

@bhack
Copy link

bhack commented Jan 23, 2018

Can we check at least if we are using the last/right release?

@aminya aminya pinned this issue Aug 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants