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

时间:2013-11-06 02:35:00

标签: 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)

当我打开python文件时,我的模式行包含Py FlyC-
Flycheck manual我了解到这意味着Flycheck无法自动找到合适的检查器。

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

Configured syntax checker python-flake8 cannot be used

我正在使用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

对于emacs软件包,它们是从melpamarmalade

安装的

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

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

1 个答案:

答案 0 :(得分:13)

M-: (executable-find "flake8")。如果显示nil,请将/usr/local/bin添加到exec-path

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

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