6

新的 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 手册中,我了解到这意味着Flycheck无法自动找到合适的检查器。

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

Configured syntax checker python-flake8 cannot be used

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

$ 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 软件包,它们是从安装的,melpa并且marmalade

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

关于如何使它工作的任何提示?

4

1 回答 1

13

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

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

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

于 2013-11-06T13:58:44.410 回答