emacs Flycheck"无法使用已配置的语法检查程序python-flake8"

jer*_*tbt 6 python macos emacs homebrew flycheck

这里有新的emacs/python用户.
我正努力开始flycheck工作(和使用flake8).

这是我的相关部分init.el:

(require 'python-mode)
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
(add-hook 'python-mode-hook 'flycheck-mode)
Run Code Online (Sandbox Code Playgroud)

当我打开python文件时,我的模式行包括Py FlyC-
From the Flycheck手册,我了解到这意味着Flycheck无法自动找到合适的检查器.

当我运行M-x flycheck-select-checker并选择python-flake8它返回:

Configured syntax checker python-flake8 cannot be used
Run Code Online (Sandbox Code Playgroud)

我正在使用OSX 10.9 homebrew和这些版本:

$ emacs --version
GNU Emacs 24.3.50.1
$ flake8 --version
2.1.0 (pep8: 1.4.6, pyflakes: 0.7.3, mccabe: 0.2.1) CPython 2.7.5 on Darwin
$ which flake8
/usr/local/bin/flake8
$ python --version
Python 2.7.5
$ which python
/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)

至于emacs包,它们是从melpa和安装的marmalade

python-mode版本:6.0.10
Flycheck版本:0.15snapshot(包:20131105.1502)

有关如何使其工作的任何提示?

lun*_*orn 13

M-: (executable-find "flake8").如果它说nil,请添加/usr/local/bin到您的exec-path.

在OS X GUI应用程序上,不会从shell配置继承变量,因此具有不同的变量$PATH.因此,能够flake8在终端中运行并不意味着,Emacs也能够找到它.

您可能还想查看exec-path-from-shell包.