Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python YouCompleteMe和Pyev virtualenvs_Python_Vim - Fatal编程技术网

Python YouCompleteMe和Pyev virtualenvs

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创建了一个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
插件,还是应该以某种方式调整我的
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