通过Vundle安装Valloric / YouCompleteMe插件后,当我启动vim时出现以下错误。运行./install.py脚本时没有问题。
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并在我的机器上删除brew版本的python。
感谢您的建议!
答案 0 :(得分:1)
感谢您提出这个问题,我对此感到非常困惑。我有一个非常艰难的时间让这个插件工作!
所以步骤如下
解决此特定错误的关键是更新vim。
brew install macvim --with-override-system-vim
执行此操作后,关闭终端并打开新终端。检查vim的版本,现在应该是版本8,即
vim --version | grep IMproved
应该有输出:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 20 2017 20:02:24)
请注意,在关闭终端并打开新终端之前,它仍然是旧的Mac版本。
现在删除YouCompleteMe的不完整副本:
sudo rm -rf ~/.vim/bundle/YouCompleteMe
然后打开vim并再次安装插件
:PluginInstall
它应该是成功的,并且没有在此问题中报告错误。但是,我发现当我尝试使用它时,它无法正常工作。你还没完成!您仍然需要手动安装YouCompleteMe。你可以这样做(--clang-completer
是可选的,它只适用于你想要c语言语言的语义支持):
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
您可能需要安装cmake来执行此操作,以防万一,这是命令:
brew install cmake
我希望这适合你!在python文件中尝试一下。如果你想查看自述文件,这是github repo: https://github.com/Valloric/YouCompleteMe
如果您有任何问题,请告诉我。
答案 1 :(得分:0)
如果YouCompleteMe安装有问题,也会发生这种情况。删除插件并再次安装它为我修好了。