LINUX.ORG.RU

vim: YouCompleteMe unavailable: module 'collections' has no attribute 'Mapping'

 ,


0

1

Стоит vim с плагинами. Всё работало, но что-то пошло не так. Как это починить?

:PluginInstall проходит успешно, но без результата. Что-то с питоном слетело видимо после обновления версии.

cat ~/.vimrc 
...
Plugin 'Valloric/YouCompleteMe'         " Автодополнение
...
★★★

Последнее исправление: hikikomori (всего исправлений: 1)

У меня была другая ошибка на той неделе с апом версии питон, все проблемы с ycm после его обновлений решились типа

cd .local/share/nvim/plugged/YouCompleteMe

python install.py

FedyaPryanichkov ★★
()
Последнее исправление: FedyaPryanichkov (всего исправлений: 3)
Ответ на: комментарий от FedyaPryanichkov

У меня в другом месте:

cd ~/.vim/bundle/YouCompleteMe
$ python install.py

но ошибка:

-- Build files have been written to: /tmp/ycm_build_5r2flt8t
[10/51] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/builtin_converters.cpp.o
FAILED: BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/builtin_converters.cpp.o 
/usr/bin/c++ -DYCMD_CORE_VERSION=28 -isystem /home/*/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/BoostParts -isystem /usr/include/python3.10 -w -O3 -DNDEBUG   -std=c++11 -fPIC -MD -MT BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/builtin_converters.cpp.o -MF BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/builtin_converters.cpp.o.d -o BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/builtin_converters.cpp.o -c /home/*/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/BoostParts/libs/python/src/converter/builtin_converters.cpp
/home/*/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/BoostParts/libs/python/src/converter/builtin_converters.cpp: В функции «void* boost::python::converter::{anonymous}::convert_to_cstring(PyObject*)»:
/home/*/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/BoostParts/libs/python/src/converter/builtin_converters.cpp:51:35: ошибка: invalid conversion from «const void*» to «void*» [-fpermissive]
   51 |       return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
      |                                   ^
      |                                   |
      |                                   const void*
[13/51] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/python/src/converter/registry.cpp.o
ninja: build stopped: subcommand failed.
ERROR: the build failed.

NOTE: it is *highly* unlikely that this is a bug but rather
that this is a problem with the configuration of your system
or a missing dependency. Please carefully read CONTRIBUTING.md
and if you're sure that it is a bug, please raise an issue on the
issue tracker, including the entire output of this script
and the invocation line used to run it.

после этого ошибка не ушла(

hikikomori ★★★
() автор топика
Ответ на: комментарий от modest

CoC это альтернатива YouCompleteMe?

Всё же, хотелось бы победить…

Пакеты нужные плагину свежие:

sudo pacman -S cmake gcc python3
hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

ИМХО, YCME - намного тормознее. CoC только с виду страшен. Настравается на раз-два, можно прикрутить поведение по ТАБу, добавляется функционал (Snippet, prettier, autopairs, spellchecker camelCase, eslint, code highlight, git etc).

Эта штука копирует поведение VSCode. И написана прослойка на TS. https://github.com/neoclide/coc.nvim

modest
()
Ответ на: комментарий от anonymous

Спасибо не надо. Уж vim я менять не собираюсь.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Ну тогда совсем всё просто. Я дам свой старый .vimrc. Если что не понравится… Далее. Тебе надо для работы установить nodejs, git, wget, curl.

https://pastebin.com/VxBFfVDL

Сверху, чтобы не нажимать shift, я двоеточие на точку с запятой поменял, короче, кромсай или впихни как есть.

modest
()
Ответ на: комментарий от modest

Возвращаясь к теме.

На гитхабе вроде открыли тикет, но какое решение, и есть ли оно или они обосрались, я так и не понял:

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от modest

Ну тогда совсем всё просто. Я дам свой старый .vimrc

с CoC не срослось? Бывает.

Не совсем просто.

Я не очень понял, зачем мне менять шило на мыло. Плюс этот CoC тащит за собой прицепом nodejs. Из-за какого-то плагина эти 30Мб тащить… Ну ок, попытка не пытка:

yay -S nodejs

Попробовал. С вашим конфигом ещё разобраться нужно, что там от coc, а что другие ваши настройки.

Если не исправить на Plugin, то ошибка:

E464: Неоднозначное использование команды пользователя: Plug 'neoclide/coc.nvim', {'branch': 'release'}

Кстати везде в сети пишут про внутреннюю команду :pluginstall, а у меня работает только полный вариант кемелстилем: :PluginInstall

Итак отредактировал конфиг в vim, делаю

:source ~/.vimrc
:PluginInstall

И получаю

[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install

Что это за yarn install и где его искать и запускать? Ещё какой-то паровоз зависимостей тащить из репозиториев?

UPD

ВРоде бы это глюк такой. Описан на https://github.com/neoclide/coc.nvim/issues/3258 Сделал

rm -rf ~/.vim/bundle/coc.nvim/
Run :PluginInstall in the vim.

и прошло.

Но как работает тут автодополнение? По Tab ничего…

UPD2

Хотя нифига. Во первых очень долго работает PluginInstall, словно подвисает, и в итоге:

Done! 
[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install
hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 5)
Ответ на: комментарий от hikikomori

yay -S nodejs

мда.

https://wiki.archlinux.org/title/node.js_

Ставишь https://archlinux.org/packages/?name=nodejs-lts-gallium
проерь, чтобы был npm установлен.

Всё подгружается само, если curl с git установлены. В самом конфиге CoC начинается с комментария. Заканчивается другим комментом.

you weird

modest
()
Ответ на: комментарий от modest

curl с git установлены в системе по дефолту.

В самом конфиге CoC начинается с комментария. Заканчивается другим комментом.

Контекст не понял.

Я не странный, это вы даёте советы, которые называете простыми, а на деле епли ничуть не меньше, чем с ycm, даже больше, паровоз с прицепом зависимостей уже.

Сказали, nodejs, я поставил. Про nodejs-lts-gallium ничего сказано не было, я это надмозгом должен был понять, может это что-то само собой разумеющееся, скажите мне?

Поставил nodejs-lts-gallium, npm нет, (а с чего бы ему быть?) поставил паровозом к 30 мб и ещё 10.

yay -S npm
Пакеты (4) node-gyp-8.4.1-1  nodejs-nopt-5.0.0-2  semver-7.3.5-2  npm-8.3.1-1
Будет загружено:     2,34 MiB
Будет установлено:  10,36 MiB

На минуточку, это же решение мне на нетбуке с ssd использовать, а там лишнего free space не так много.

и ничего:

vim
[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install

Я эту явускрипту не юзаю, понятия не имею, чего ей ещё надо. Что это за yarn такой в душе не пойму.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

npm - это как pip, yarn - альтернатива.

Сотри, забекапь, что хочешь сделай с папкой .vim
создай папку .vim, скопируй туда мой vimrc, запусти vim, жди окончания установки, всё.

modest
()
Ответ на: комментарий от hikikomori

Про nodejs-lts-gallium ничего сказано не было, я это надмозгом должен был понять, может это что-то само собой разумеющееся, скажите мне?

Во многих дистрах идёт просто название nodejs, в Arch несколько версий. Ну ты же крутой, разбираешься в Arch, да и в vim, если коменты не видишь

" ———————————— COC ———————-

А потом новый, подразумевая конец пред блока

" ————————— StatusLine config —————–

Мало того, что в документацию не можешь, на youtube тебя забанили (там полно видосов молодых лошков, которые другим лошкам-неучам, которые читать не умеют, расписывают настройки автодополнения, проверки ашыбок, крутой темы и чтобы усё было как в vscode), так ты катишь бочку, вроде я тебе что-то должен.

Мне неприятно тебе помогать, мозг кипит? Поспи и с нового дня пиши новые обалденные истории про «как всё плохо», «у меня не работает - это всё тупые разработчики», «я не читаю инструкции, они для дибилов».

Я на тебя время потратил, конфиг выложил.

modest
()
Последнее исправление: modest (всего исправлений: 2)
Ответ на: комментарий от modest

npm - это как pip, yarn - альтернатива.

Теперь понятно.

Сотри, забекапь, … создай папку .vim, скопируй туда мой vimrc, запусти vim, жди окончания установки, всё.

Если и заработает, то я не сильно пойму, как это работает. А хочется понимать. Придётся долго парсить конфиг. У вас там конечно есть отметка, что строки 96-102 это про этот плагин, но что они делают, обязательны ли… И всё выльется (уже) в непрерывное гугление, чтение говностатей с кучей воды, и умножение вопросов по экспоненте.

Я работу забросил из-за этой проблемы, весь день сижу в гугле и консоли, пытаюсь разобраться. Ищу на два фронта и как старый поднять, и как новый. В доки могу, невероятно не так круто, как вы, поэтому я тут. Сегодня ещё в пулл работы подкинули и завтра принесут, а я одному мне интересные ххх пинаю с автодополнением.

так ты катишь бочку, вроде я тебе что-то должен. Мне неприятно тебе помогать,

Ни на вас лично, ни как адепта этого плагина я ничего не гоню. Если чем задел мой нервный тон - извиняйте, не хотел.

я не читаю инструкции, они для дибилов».

А где эти инструкции? На https://github.com/neoclide/coc.nvim ? Там недостаточно инфы. Она не даёт ответа на мои вылезшие в ходе установки вопросы.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

ycm - только дополнение, CoC - LSP сервера со всеми вытекающими.
Сделан для повторения функционала vscode в vim.

на начальной странице предоставлен пример.
https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions здесь описание всех серверов(дополнений), которые ткнув получим подробные настройки.

Как пример я ткнул в coc-omnisharp и попал https://github.com/coc-extensions/coc-omnisharp

modest
()
Последнее исправление: modest (всего исправлений: 1)
Ответ на: комментарий от modest

Очень интересно, но ничего не понятно (й)
Я не настолько хорошо знаю англ, чтобы бегло всё это прочитать. Мне бы текущую задачу решить, а то я не очень понимаю, суть сущностей по ссылкам.

Что за сервера в vim?, я только про плагины знаю. Надеюсь не оскорбил вас «своим незнанием» снова. Я думал, мы только про плагин автодополнения говорим.

vscode… Я не пишу на js, мне дополнение только для python нужно. Для работы плагина ‘neoclide/coc.nvim’ нужно какой-то сервер подымать?

hikikomori ★★★
() автор топика
Ответ на: комментарий от anonymous
  • Valloric/YouCompleteMe не удалось починить из-за непонятной python-зависимости.

  • ycm-core/YouCompleteMe не удалось установить по не помню уже какой аналогичной причине.

  • neoclide/coc.nvim, который мне тут посоветовал @modest не удалось тоже. Плюс он требует для своей работы кучу дополнительных зависимостей. Самое обидное, что когда впервые ставил первый плагин, вообще никаких проблем не было ни с ним, ни с каким другим. А тут на каждом шагу проблемы, словно я ламер какой. А может ламер не пользователь, а тот, кто говнокодит? Или в последние годы система усложнилась настолько, что не в говнокод уже не получается?

У меня кончилось свободное время, приходится упарываться с паяльником, а не с клавиатурой. Увы, может быть в другой раз…

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от hikikomori

А тут на каждом шагу проблемы, словно я ламер какой.

хикимор начал что-то подозревать

А может ламер не пользователь, а тот, кто говнокодит? Или в последние годы система усложнилась настолько, что не в говнокод уже не получается?

но продолжает себя утешать

anonymous
()
Ответ на: комментарий от anonymous

Ну вот, докатились. Сперва плагин поменяй, затем на форк перейди. Так и не заметишь, как в pycharm окажешься, ведь там автодополнение вообще искаропки работает.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Ну-у, если тебе нравится тормозной vim, то лично у меня нормально работали vim-lsp и asyncomplete.vim (нужно ставить оба, автор у них один).

anonymous
()
Ответ на: комментарий от hikikomori

Да. Просто попробуй neovim — разница очевидна, особенно если использовать расширения на родном для него Lua.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.