Yosemite にアップデートするまで、emacs の Flymake は正常に動作していました。しかし今、それは不平を言っています:
Flymake: Failed to launch syntax check process 'pychecker' with args (<filename>_flymake.py): Searching for program: no such file or directory, pychecker. Flymake will be switched OFF.
ここ<filename>
で、開かれたバッファ内のファイルの名前です。これが私のflymake構成です:
(add-to-list 'load-path "~/.emacs.d/")
;; Setup for Flymake code checking.
(require 'flymake)
(load-library "flymake-cursor")
;; Script that flymake uses to check code. This script must be
;; present in the system path.
(setq pycodechecker "pychecker")
(when (load "flymake" t)
(defun flymake-pycodecheck-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list pycodechecker (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pycodecheck-init)))
(add-hook 'python-mode-hook 'flymake-mode)
ここにある/usr/local/bin/pychecker
:
#! /bin/sh
pyflakes "$1"
pep8 --repeat "$1" --max-line-length=80 --ignore=E123,E133,E226,E501
true
ここにある$PATH
:
/Users/<user>/Envs/<venv>/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin
は<user>
私のユーザー名で<venv>
、現在アクティブな仮想環境です。
pychecker
シェルから実行すると正常に動作します。
通常は venv を有効にして、emacsgui
( ) と入力してシェルから emacs を起動します。alias emacsgui='open -a emacs'
また、venvをアクティブにせずにemacsを開こうとしましたが、それでも問題が発生します。何が問題ですか?