Emacs elpy Flymake 找不到pyflakes 即使已经通过pip安装了pyflake
Emacs elpy Flymake can't find pyflakes even though pyflake has been installed by pip
使用 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 命令的可执行文件。但这似乎很老套,必须有一种正确的方法来 install/setup pyflakes 这样 flymake 就可以找到命令而无需手动创建包装脚本,不是吗?
I can run it manually from the pip installation directory using the command line like:
python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py
除非此目录在您的 $PATH
中,否则 Emacs 无法知道在哪里可以找到 pyflakes
。
一种选择是创建符号 link,例如
ln -s /opt/local/.../python2.7/site-packages/pyflakes /opt/local/bin/pyflakes
当然,您必须使用完整路径。为了便于阅读,我缩短了它。这在 Linux 机器上比较常见,虽然我不知道它在 OSX.
上的使用有多广泛
我更喜欢的另一种选择是使用 pip install
's --user
option:
重新安装 pyflakes
--user
Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
--user
非常适合安装您可能想要 运行 独立于任何特定项目的东西,例如 pyflakes
。它将东西安装到您的主目录而不是系统目录,因此您不需要任何提升的权限即可使用它。
您可能需要将用户位置添加到您的 $PATH
变量中,但您只需执行一次。使用 pip install --user
安装的任何未来工具将立即可用。
在我的 Linux 机器上,我必须添加到 $PATH
的目录是 ~/.local/bin/
.
使用 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 命令的可执行文件。但这似乎很老套,必须有一种正确的方法来 install/setup pyflakes 这样 flymake 就可以找到命令而无需手动创建包装脚本,不是吗?
I can run it manually from the pip installation directory using the command line like:
python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py
除非此目录在您的 $PATH
中,否则 Emacs 无法知道在哪里可以找到 pyflakes
。
一种选择是创建符号 link,例如
ln -s /opt/local/.../python2.7/site-packages/pyflakes /opt/local/bin/pyflakes
当然,您必须使用完整路径。为了便于阅读,我缩短了它。这在 Linux 机器上比较常见,虽然我不知道它在 OSX.
上的使用有多广泛我更喜欢的另一种选择是使用 pip install
's --user
option:
pyflakes
--user
Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
--user
非常适合安装您可能想要 运行 独立于任何特定项目的东西,例如 pyflakes
。它将东西安装到您的主目录而不是系统目录,因此您不需要任何提升的权限即可使用它。
您可能需要将用户位置添加到您的 $PATH
变量中,但您只需执行一次。使用 pip install --user
安装的任何未来工具将立即可用。
在我的 Linux 机器上,我必须添加到 $PATH
的目录是 ~/.local/bin/
.