首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Valloric/YouCompleteMe插件用于Vim

Valloric/YouCompleteMe插件用于Vim
EN

Stack Overflow用户
提问于 2017-02-18 00:02:56
回答 2查看 4K关注 0票数 1

在通过Vundle安装Valloric/YouCompleteMe插件后,我在启动vim时得到以下错误。运行./install.py脚本没有问题。

代码语言:javascript
复制
File "<string>", line 19, in <module>
  File "/Users/simonorlovsky/.vim/bundle/YouCompleteMe/autoload/../python/ycm/setup.py", line 37, in SetUpSystemPaths
    from ycmd import server_utils as su
  File "/Users/simonorlovsky/.vim/bundle/YouCompleteMe/python/ycm/../../third_party/ycmd/ycmd/server_utils.py", line 25, in <module>
    import io
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
YouCompleteMe unavailable: dlopen(/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
Press ENTER or type command to continue

我是新的vim插件社区,所以我想知道是否有人有任何洞察力的问题可能是什么。

编辑

最终的解决方案是重新安装macvim并在我的机器上删除python的brew版本。

谢谢你的建议!

EN

回答 2

Stack Overflow用户

发布于 2017-04-20 18:40:42

谢谢你提出这个问题,我对此感到很困惑。我真的很难让这个插件工作!

因此,步骤如下

避免这个特定错误的关键是更新vim。

代码语言:javascript
复制
brew install macvim --with-override-system-vim

完成此操作后,关闭终端并打开一个新终端。检查vim的版本,现在应该是8版,即

代码语言:javascript
复制
vim --version | grep IMproved

应具有以下输出:

代码语言:javascript
复制
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 20 2017 20:02:24)

请注意,在关闭终端并打开新的终端之前,它仍然是旧的mac版本。

现在删除YouCompleteMe的不完整副本:

代码语言:javascript
复制
sudo rm -rf ~/.vim/bundle/YouCompleteMe

然后打开vim并重新安装插件。

代码语言:javascript
复制
:PluginInstall

它应该是成功的,并且不报告这个问题中的错误。然而,我发现当我尝试使用它时,它并没有正常工作。你还没说完呢!您仍然需要手动安装YouCompleteMe。您可以这样做( --clang-completer是可选的,如果您想要对c-族语言提供语义支持的话):

代码语言:javascript
复制
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

您可能需要安装cmake才能做到这一点,因此以防万一,下面是命令:

代码语言:javascript
复制
brew install cmake

我希望这对你有用!在python文件中尝试它。这是github,如果您想签出readme:https://github.com/Valloric/YouCompleteMe

如果你有什么问题请告诉我。

票数 2
EN

Stack Overflow用户

发布于 2017-02-25 20:22:47

这也可能发生在您有一个错误的YouCompleteMe安装。删除插件,并再次安装它,为我修复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42309442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档