Есть ли способ получить python omnicomplete для работы с несистемными модулями в vim?

Единственное, что я могу получить python omnicomplete для работы, это системные модули. Я ничего не получаю от помощи в модулях в моих пакетах сайтов или модулях, над которыми я сейчас работаю.

  • отправка кода из vim в stata
  • Как получить значение, возвращаемое функцией в Python & Vimscript?
  • Как отправить статус в строку состояния VIM после вызова пользовательской функции VIM (Python)
  • vim, вставка script.py в интерпретатор python теряет форматирование
  • Подклассы Jedi Vim Python не обнаруживаются при завершении TAB
  • vim компилируется с неправильной версией python (и не работает с необходимой версией)
  • Автозаполнение Vim, Python и Django (pysmell?)
  • Vim автоматически удаляет отступы в комментариях Python
  • 6 Solutions collect form web for “Есть ли способ получить python omnicomplete для работы с несистемными модулями в vim?”

    Я получаю завершение для своих модулей в своих PYTHONPATH или пакетах сайтов. Я не уверен, какую версию скрипта pythoncomplete.vim вы используете, но вы можете убедиться, что это последнее.

    EDIT: Вот несколько примеров того, что я вижу в своей системе …

    Этот файл (mymodule.py), я помещаю в каталог в PYTHONPATH, а затем в сайт-пакеты. Оба раза мне удалось получить снимок экрана ниже.

    myvar = 'test' def myfunction(foo='test'): pass class MyClass(object): pass 

    скриншот http://i437.photobucket.com/albums/qq96/jmcantrell/screenshot.png

    Как только я сгенерировал ctags для одного из моих пакетов-сайтов, он начал работать для этого пакета, поэтому я предполагаю, что функция omnicomplete зависит от ctags для модулей, отличных от sys.

    EDIT: Не совсем.

    Вот проблема – плохое тестирование с моей стороны – omnicomplete WAS работает для частей моего проекта, только не в большинстве.

    Проблема заключалась в том, что я работаю над проектом django, и для импорта django.db вам нужно установить переменную среды. Поскольку я не мог импортировать django.db, любой класс, унаследованный от django.db, или любой модуль, который импортировал класс, унаследованный от django.db, не завершился.

    Просто наткнулся на это на Reddit Python сегодня вечером: PySmell . Похоже, что вы ищите.

    PySmell – помощник по созданию IDE для python.

    Он пытается статически анализировать исходный код Python, не выполняя его, и генерирует информацию о структуре проекта, которую могут использовать инструменты IDE.

    Хотя важно отметить, что вы должны правильно настроить переменную окружения PYTHONPATH , в соответствии с предыдущим ответом, в Vim имеется заметная ошибка, которая предотвращает работу omnicompletion при сбое импорта . Начиная с Vim 7.2.79, эта ошибка не была исправлена.

    Совет по устранению неисправностей: убедитесь, что модуль, который вы пытаетесь полностью закрыть, может быть импортирован VIM. У меня был синтаксически правильный Python, который VIM не понравился:

     :python import {module-name} Traceback (most recent call last): File "<string>", line 1, in ? File "modulename/__init__.py", line 9 class empty_paranthesis(): ^ SyntaxError: invalid syntax 

    Случай-в-точке, удаляя скобки из моего определения класса, разрешил VIM импортировать модуль, а затем OmniComplete в этом модуле начал работать.

    Я думаю, что вы после сценария pydiction . Он позволяет вам добавлять свои собственные материалы и пакеты сайтов для завершения omni.

    В то время как вы на нем, добавьте следующее в свой файл python.vim …

      set iskeyword+=. 

    Это позволит вам автоматически выполнять функции пакета, например, если вы введете …

      os.path. 

    а затем [CTRL] [N], вы получите список функций для os.path.

    Interesting Posts

    Улучшение производительности операций в массиве NumPy

    Смутно о создании CSV-файла в ZIP-файл в django

    Доступ к тексту, скопированному в буфер обмена с помощью python

    Python: отдельные процессы регистрируются в одном файле?

    Загрузка нескольких изображений в администраторе Django

    Как торнадо останавливает текущий обработчик запросов?

    Python и PYAML – yaml.scanner.ScannerError: значения отображения здесь не допускаются

    получение сфинкса для распознавания правильной подписи

    Вложенный словарь в мультииндексный фреймворк, где словарные ключи – это метки столбцов

    Чтение XML-файла и выбор его атрибутов в Python

    Как удалить все строки в numpy.ndarray, которые содержат нечисловые значения

    Быстрая транслитерация для арабского текста с помощью Python

    Как получить агент пользователя с помощью Flask?

    Проверьте, является ли параметр модулем Python?

    Python – для регистратора «OpenGL.error» не найдено обработчиков

    Python - лучший язык программирования в мире.