2016-07-31 5 views
0
-- Omni completion (^O^N^P) Pattern not found 

Это ошибка, которую я получаю, когда смотрю на: сообщения в Vim.Autocompletion with Jedi-vim дает ошибку

Please install Jedi if you want to use jedi-vim. 
The error was: dlopen(/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder^@ Referenced fro 
m: /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 

Press ENTER or type command to continue 

Но у меня уже есть джедаи установлен с помощью ГПГ

$ pip freeze 
jedi==0.9.0 
vboxapi==1.0 

Я пытаюсь запустить :python import jedi; из Vim, и это дает следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/usr/local/lib/python2.7/site-packages/jedi/__init__.py", line 41, in <module> 
    from jedi.api import Script, Interpreter, NotFoundError, set_debug_function 
    File "/usr/local/lib/python2.7/site-packages/jedi/api/__init__.py", line 16, in <module> 
    from jedi.parser import Parser, load_grammar 
    File "/usr/local/lib/python2.7/site-packages/jedi/parser/__init__.py", line 22, in <module> 
    from jedi.parser import tokenize 
    File "/usr/local/lib/python2.7/site-packages/jedi/parser/tokenize.py", line 16, in <module> 
    from io import StringIO 
    File "/usr/local/Cellar/python/2.7.12/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.12/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.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 

Python из моего Command- линия показана следующая версия

>>> import sys 
>>> sys.version 
'2.7.12 (default, Jun 29 2016, 14:05:02) \n[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)]' 
>>> 

Но из Vim, если запускать следующую команду

:python import sys; print sys.version 

Он выводит

2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] 

Теперь, как я могу обновить питона, что ВИМ использует?/Что именно происходит здесь и что я могу сделать для его решения?

ответ

1

Это произошло из-за 2 версии питона, установленной на Mac. Тот, который пришел по умолчанию, находился в каталоге/usr/bin и был версией 2.7.10. Тот, который я установил с использованием варева, был в каталоге/usr/local/bin и был версией 2.7.12.

Компания Vim использовала версию 2.7.10, но ищет пакеты в папках, где установлены пакеты, на которых установлены пиво. Итак, я сделал пиво для удаления python, и все работает нормально.

(Но я потерял пип и все пакеты установлены через пип. Я должен был более осторожен)

0

Я установил jedi-vim с патогеном, и теперь он работает.

pip install --user jedi 
cd ~/.vim/bundle/ 
git clone https://github.com/davidhalter/jedi-vim.git 

Вы также можете запустить этот:

sudo apt-get install vim-python-jedi 

Это должно помочь

+0

Я установил его с помощью Vundle, который я предполагаю, что будет делать клонирование, когда я добавить строку «Плагин» davidhalter/jedi-vim'' в мой .vimrc и запустить PluginInstall. –

+0

sudo apt-get install vim-python-jedi – LychmanIT

+0

Я удалил этот плагин и снова установил эту команду. – LychmanIT

0

деинсталляции не является решением в моем случае, ВЬЮТ пожаловался в самом начале, что не находит питон поддержка я сделал следующее:

cd /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/ 

mv _io.so _io.so.orig 
cp /usr/lib/python2.7/lib-dynload/_io.so ./ 

(я построил vim8 от источника - от github.com/vim/vim.git)

./configure --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config/ 

make 

sudo make install) 
0

по крайней мере, для U buntu 16.04, это вызвано тем, что пакеты Vim по умолчанию скомпилированы против Python 3.5. Чтобы эта ошибка фиксируется, кроме связанных пакетов для Джедаев, вам необходимо установить все, что вы о Vim и установки следующих пакетов:

sudo apt-get install vim-addon-manager vim-common vim-gnome-py2 \ 
vim-gtk3-py2 vim-gui-common vim-nox-py2 vim-python-jedi vim-runtime