原文連接:http://www.aisun.org/2017/10/vim+YouCompleteMe-unavailable/python
vim 中YouCompleteMe出錯:git
YouCompleteMe unavailable: dlopen(/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-d ynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder Referenced from: /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so Expected in: flat namespace in /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
首先在終端裏運行:shell
sudo find / -name _io.so
會把系統下全部名字帶_io.so的文件路徑都列出來,下面是個人:
/Applications/Google Drive.app/Contents/Resources/lib/python2.7/lib-dynload/_io.so
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
/Users/Nico/macports/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.sovim
而後備份2.7.13的io文件到桌面app
cd Desktop mkdir backup_python cp /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so backup_python/2.7.13_io.so
而後用老文件替換2.7.13的文件python2.7
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
而後YouCompleteMe就能夠完美的工做啦!spa
緣由就是你或者沒用Vundle安裝,或者Vundle因爲網速太慢下載到一半不能把安裝依賴包徹底下載下來code
解決方案:rem
進入到YouCompleteMe目錄,在terminal窗口敲入 git submodule update --init --recursiveterminal