Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make pylint respect libraries installed into VIRTUAL_ENV
Jedi respects VIRTUAL_ENV environment variable at finding out libraries. Therefore, (virtualenv) runtime for pyls/jedi can be separated from one for the target workspace. On the other hand, pylint does not respect VIRTUAL_ENV, and might cause unintentional "import-error" (E0401) for libraries installed in such virtualenv, even though jedi can recognize them. In order to make pylint respect libraries installed into VIRTUAL_ENV, this commit uses Document.sys_path() instead of sys.path of current pyls process, at spawning pylint. Document.sys_path() should respect VIRTUAL_ENV, (original) PYTHONPATH, and so on, because it uses Environment.get_sys_path() of jedi. This commit chooses changing pyls instead of pylint, because pylint uses "astroid" library to find out libraries imported in the target file, and making astroid respect VIRTUAL_ENV seems very difficult (at least, not so easy).
- Loading branch information