Open cjrh opened 9 years ago
Quick note: I looked at this a while ago. The problem is that there is already a stdlib on the python path, for the currently-in-use Python. Adding another stdlib from some other python (i.e. the other conda env) causes errors.
What I think is necessary is for jedi-vim to not use the path of the default, currently-running Python at all, but use a completely separate path to a python installation for managing completions, and not sys.path
.
I've started building a small secret project cjrh/PloKoon which will call jedi-vim within one or more separate Python interpreters. Instead of web calls, as JediHTTP does it, this relies on a cool project called execnet (http://codespeak.net/execnet/) for communication between Python interpreters. Very basic tests so far seem to indicate that this will work well.
The main problem is that the vim UI stuff that jedi-vim currently provides, such as the completion menu, and the other refactoring features, will be missing. Either I have to fork jedi-vim itself, and modify the code so that all the internal functional calls to jedi get sent through PloKoon, or I have to reimplement a lot of that stuff. A third option is to ignore jedi-vim and focus on YouCompleteMe as the UI framework, and then provide PloKoon as an alternative completion engine to JediHTTP; in this case, the benefits of PloKoon over JediHTTP seem marginal. (and plus, YCM can be really difficult to install.)
Currently we are adding the
site-packages
for an activated env, but it seems we really also need to add the stdlib path, otherwise py3-specific stuff in the stdlib isn't found.