jedi-vim: модули из нестандартных путей

У меня есть разные локальные установки Python, созданные с помощью hashdist. С другой стороны, vim устанавливается для всей системы (ArchLinux), ссылаясь на системный файл python3.

Я хотел бы использовать автозаполнение jedi для пакетов одной изолированной сборки Python. Модули лежат в some/path/lib/python2.7/site-packages который не известен системному питону (отсюда и vim). Также vim был скомпилирован для python3; эта «другая версия» — python2.7.

Есть какой-либо способ сделать это? Если бы я мог просто выбрать один конкретный пакет, это тоже было бы хорошо. $PYTHONPATH не работает (по крайней мере) из-за конфликтующих версий Python.


person killozap    schedule 05.11.2015    source источник
comment
Возможно, попробуйте vi.stackexchange.com   -  person Sukima    schedule 05.11.2015


Ответы (1)


Jedi намеренно работает только для одной и той же версии Python, потому что скомпилированные пакеты могут вызывать ошибки сегментации (при их загрузке). Следовательно, это даже не то, что задумано джедаями.

Однако вы можете изменить sys.path в самом jedi-vim, если хотите поиграть с ним :python3 sys.path.append(). Но это действительно не рекомендуется.

person Dave Halter    schedule 05.11.2015
comment
Та же версия, т.е. 2.7 или такая же сборка/установка? Предположим, я использовал vim с системой python2.7, будет ли это работать для описанной выше настройки? - person killozap; 06.11.2015
comment
Ну, я понятия не имею, как сам VIM использует Python. Я никогда не смотрел на это. В основном завершение работает в пакетах, которые включены в sys.path, так как это отправная точка. На самом деле невозможно получить другую отправную точку. - person Dave Halter; 09.11.2015