Я только что обновился с Ubuntu 12.04 до 14.04 (чистое обновление, не на месте).
Я обнаружил, что не могу вызвать pylint из emacs (M-x pylint), как раньше, поэтому я установил пакет python-mode.
Теперь я могу вызывать pylint из emacs, но даже когда я включаю в него номера строк (pylint -f parseable foo.py
), emacs не может перейти к следующей ошибке, используя next-error. Когда я пытаюсь, я получаю следующую ошибку в минибуфере:
«В буферах нет местоположений сообщений об ошибках».
Любые предложения о том, что я могу сделать, чтобы это исправить, будут высоко оценены. Поиск в Google показывает только советы о том, как заставить flymake запускать Pylint, что мне не интересно.
Для справки, вот пример того, что я вижу в окне вывода pylint в emacs:
No config file found, using default configuration
/usr/lib/python2.7/dist-packages/pylint/reporters/text.py:79: UserWarning: parseable output format is deprecated. This is equivalent to --msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
'to --msg-template=%s' % (self.name, self.line_format))
************* Module video_demo
video_demo.py:21: [E0602(undefined-variable), MatplotlibDisplay.__init__] Undefined variable 'figure'
video_demo.py:25: [E0602(undefined-variable), MatplotlibDisplay.update] Undefined variable 'axes'
video_demo.py:28: [E0602(undefined-variable), MatplotlibDisplay.update] Undefined variable 'figure'
video_demo.py:35: [E0213(no-self-argument), VideoDisplay.update] Method should have "self" as first argument
video_demo.py:50: [E1103(maybe-no-member),
Я зафиксировал его путем выполнения этого:
Шаг один: удалите режим Python пакет Ubuntu. Это приносило больше вреда, чем пользы, особенно с поведением переключения вкладок.
Шаг два: добавьте эту строку к моему .emacs файлу:
(require 'tramp)
Это избавилось от ошибки, при вызове M-x pylint
, tramp-tramp-p
функция, являющаяся недостающим. По-видимому, это - ошибка в Ubuntu 14.04's копия pylint.el, который был с тех пор исправлен в восходящем направлении (см. этот запрос получения по запросу ).