cjrh / vim-conda

Change conda environments in the Vim editor (with Jedi-vim support)
MIT License
112 stars 25 forks source link

Add the stdlib path for Python 3 #5

Open cjrh opened 9 years ago

cjrh commented 9 years ago

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.

cjrh commented 8 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.

cjrh commented 8 years ago

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.)