Python YouCompleteMe和Pyev virtualenvs
我使用pyenv创建了一个virtualenv,然后使用Python YouCompleteMe和Pyev virtualenvs,python,vim,Python,Vim,我使用pyenv创建了一个virtualenv,然后使用pyenv local在目录中激活它: pyenv virtaulenv 3.4.2 3.4.2-my_project pyenv local 3.4.2-my_project 之后,我像往常一样使用pip安装库。 问题是,当我在安装了YouCompleteMe的情况下打开VIM时,它找不到我在virtualenv中安装的python包的类型定义。它从系统范围的位置加载有关包的信息 我应该为VIM安装并使用pyenv插件,还是应该以某
pyenv local
在目录中激活它:
pyenv virtaulenv 3.4.2 3.4.2-my_project
pyenv local 3.4.2-my_project
之后,我像往常一样使用pip
安装库。问题是,当我在安装了
YouCompleteMe
的情况下打开VIM时,它找不到我在virtualenv中安装的python包的类型定义。它从系统范围的位置加载有关包的信息
我应该为VIM安装并使用pyenv
插件,还是应该以某种方式调整我的vimrc
编辑
在GitHub上发布了一篇文章。我是在
基础操作系统0.4.1Loki上运行的(假设所有基于Debian的系统都能工作)
如果使用vundle
或任何其他vim
插件管理器安装YouCompleteMe
几乎不可能工作。因此,最好的选择是按照上的安装说明进行操作
安装后,我将这段代码放入。vimrc
:
if 'VIRTUAL_ENV' in os.environ:
project_base_dir = os.environ['VIRTUAL_ENV']
activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
在索引YouCompleteMe
几分钟后,开始从虚拟环境中检测包裹信息。根据这个问题()很可能是绝地武士造成的问题,你可以试试:)@Wolph不幸的是,这不是我的问题。建议的vim virtual
模块在调用activate.py
时不能与pyenv一起工作。建议的vim
hook也是关于触发activate.py
。他们还提到,如果VIM是从virtualenv dir启动的,那么一切都可以工作,这在我的例子中是错误的。没有。我猜它仍然与YCM无关,但与绝地武士有关,不过使用python 3可能是问题的一部分。顺便说一句,代码末尾缺少endif
block@RichardG这是Python代码,因此没有endif
关键字。起初我认为你是对的,所以我只是编辑了它,但幸运的是其中一位审阅者敏锐地注意到:。它与此处的一个片段相匹配:它使用了一个.vimrc功能,我看不到有文档记录,在.vimr中运行Python2代码。我已经进行了编辑,添加了必要的py