Например:
- numpy.linspace предоставляет огромный файл документа с множеством подробных изменений, множеством повторяющихся строк текста, а исходное объявление функции повторяется десятки раз с небольшими вариациями (такие вещи, как первое входное значение, может быть «_ArrayLikeFloat_co» или «_ArrayLikeComplex_co» и различные варианты для каждого входа). Из-за этого всплывающее окно заполняет экран текстом, а команду GetDoc становится очень трудно читать.
- numpy.a (или любая буква) выдает RecursionError: «превышена максимальная глубина рекурсии» в сообщениях vim. Однако он успешно предложит соответствующие команды для ввода при открытии меню. Это повторяется для некоторых других функций, таких как pandas.read_csv
- numpy.zeros и numpy.array (и, возможно, других), которые выдают «RuntimeError: максимальная глубина рекурсии превышена» при запросе документа.
- Многие другие содержат очень простые и/или неправильно отформатированные (для всплывающего окна) документы.
Я предполагаю, что проблема связана с какой-то неправильной конфигурацией Python, которую я установил, хотя, учитывая рекурсия не происходит для панд, но неверная строка документа есть, заставляет меня думать, что она не обязательно вызвана проблемой рекурсии.
Кто-нибудь знает, что здесь происходит, или какой-то способ это исправить, или, может быть, дать YCM другой набор файлов документов?
Полурешение
Хотя на самом деле проблема с Jedi не решена, я в конечном итоге заставил pylsp работать как альтернативный сервер. Основные проблемы, с которыми я столкнулся, заключались в настройке конфигурации pylsp, поскольку ее нужно передавать на уровне редактора, а не в глобальную папку конфигурации (Код: Выделить всё
~/.config/pylsp/config.yamlКод: Выделить всё
def Settings(**kwargs):
client_data = kwargs['client_data']
return {
'interpreter_path': client_data['g:ycm_python_interpreter_path'],
'sys_path': client_data['g:ycm_python_sys_path'],
'ls': {
'pylsp': {
'plugins': {
'pyflakes': {'enabled': False},
'flake8': {
'enabled': True,
'ignore': [
'E226', # missing whitespace around arithmetic operator
# 'E203', # whitespace before ‘,’, ‘;’, or ‘:’
'E303', # too many blank lines (3)
'F401', # module imported but not used
],
}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ocs-in-vim
Мобильная версия