YouCompleteMe не работает для python

Я не уверен, что это какая-то ошибка (вероятно, нет, иначе все бы жаловались) и без учетной записи google я не могу использовать группу google, поэтому я попытаю счастья здесь в надежде, что у кого-то есть предложение .

У меня установлен YouCompleteMe с clang-completer, и все отлично работает на C, C++. Теперь я редактирую файл .py, и единственным предлагаемым завершением являются слова, уже находящиеся в буфере. Без смыслового завершения. :YcmCompleter печатает No semantic completer exists for filetypes: [u'py']. Я удалил из своего .vimrc все, кроме следующего:

call pathogen#infect()
Helptags

filetype on

Но безрезультатно. Кто-нибудь знает, как лучше диагностировать проблему?

Редактировать: я понял, что у меня не установлено jedi. Итак, я запустил pip install jedi, который, как ни странно, ничего не изменил.


person oarfish    schedule 21.10.2015    source источник


Ответы (2)


Python — это интерпретируемый язык.

Автодополнение работает только для объектов в библиотеке python (например: os, time,...) и в вашем буфере vim.

Если вы используете сборку, вы можете добавить vim-buildout в свой пакет vim => https://github.com/FBruynbroeck/vim-buildout

Этот плагин добавляет ваши яйца (/parts/omelette) в syspath. (YouCompleteMe использует syspath vim для автодополнения python)

Лично я использую jedi (библиотека автодополнения). YouCompleteMe слишком велик для меня. (на данный момент я разрабатываю только на питоне)

person FBruynbroeck    schedule 22.10.2015
comment
Ну, автодополнение для стандартной библиотеки было бы началом, но я даже этого не понимаю. - person oarfish; 22.10.2015
comment
У вас был python-dev на вашей локальной машине? (sudo apt-get установить python-dev) - person FBruynbroeck; 23.10.2015
comment
Я на OSX, но Python установлен. - person oarfish; 23.10.2015

Оказывается, у меня был ftplugin для .py файлов, который устанавливал тип файла на py вместо python, как предполагалось. Отключение решило проблему.

person oarfish    schedule 17.11.2015