2

使用 macports pip-2.7 安装 pyflakes 后,我可以使用命令行从 pip 安装目录手动运行它,例如:

python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py

但是,我正在尝试使用 elpy 设置我的 mac emacs 环境,而 flymake 似乎无法找到 pyflakes,当我在 elpy 模式下打开 python 文件时给我一个对话框说:

Flymake: Failed to launch syntax check process 'pyflakes' (with args myfile.py): Searching for program: no such file or directory, pyflakes. Flymake will be switched off.

我可以进入 /opt/local/bin 并尝试编写我自己的可执行文件来运行上述 python 命令。但这似乎很老套,必须有一种正确的方法来安装/设置 pyflakes,这样 flymake 就可以在不手动创建包装脚本的情况下找到命令,不是吗?

4

1 回答 1

3

我可以使用命令行从 pip 安装目录手动运行它,例如:

python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py

除非此目录在您的$PATH.Emacs 中,否则 Emacs 无法知道在哪里可以找到pyflakes

一种选择是创建一个符号链接,例如

ln -s /opt/local/.../python2.7/site-packages/pyflakes /opt/local/bin/pyflakes

当然,您必须使用完整路径。为了便于阅读,我缩短了它。这在 Linux 机器上比较常见,尽管我不知道它在 OSX 上的使用范围有多广。

我更喜欢的另一种选择是pyflakes使用pip install's --useroption重新安装:

--user 

安装到您平台的 Python 用户安装目录。通常是 ~/.local/,或 Windows 上的 %APPDATA%Python。(有关详细信息,请参阅 site.USER_BASE 的 Python 文档。)

--user非常适合安装您可能希望独立于任何特定项目运行的东西,例如pyflakes. 它将东西安装到您的主目录而不是系统目录,因此您不需要任何提升的权限即可使用它。

您可能必须将用户位置添加到$PATH变量中,但您只需执行一次。未来安装的任何工具pip install --user都将立即可用。

在我的 Linux 机器上,我必须添加到我的目录$PATH~/.local/bin/.

于 2015-07-23T17:20:20.580 回答