Python3,Emacs(OSX)中的Elpy:未找到完成用户错误:无法完成
Posted
技术标签:
【中文标题】Python3,Emacs(OSX)中的Elpy:未找到完成用户错误:无法完成【英文标题】:Python3, Elpy in Emacs (OSX): No completion found user-error: Cannot complete at point 【发布时间】:2018-10-04 03:31:08 【问题描述】:OSX 10.13.4 emacs: 25.3 (9.0) 蟒蛇3.5.2
我在 emcas 中遇到了 elpy 自动完成的问题。本质上,elpy 卡在点上(例如:numpy.
)并且不建议任何可能的完成。如果我按下任何键,我会看到一条消息:'未找到完成
用户错误:尽管所有必需的软件包都已正确安装,但无法完成。我怀疑这可能是由于配置:
Elpy Configuration
Virtualenv........: None
RPC Python........: 3.5.2 (/usr/local/bin/python3)
Interactive Python: /usr/local/bin/python3 (/usr/local/bin/python3)
Emacs.............: 25.3.1
Elpy..............: 1.19.0
Jedi..............: 0.12.0
Rope..............: 0.10.7
Autopep8..........: 1.3.5
Yapf..............: 0.21.0
Syntax checker....: Not found (flake8)
You have not activated a virtual env. While Elpy supports this, it is
often a good idea to work inside a virtual env. You can use M-x
pyvenv-activate or M-x pyvenv-workon to activate a virtual env.
The directory ~/.local/bin/ is not in your PATH. As there is no active
virtualenv, installing Python packages locally will place executables
in that directory, so Emacs won't find them. If you are missing some
commands, do add this directory to your PATH -- and then do
`elpy-rpc-restart'.
The configured syntax checker could not be found. Elpy uses this
program to provide syntax checks of your programs, so you might want
to install one. Elpy by default uses flake8.
但是,当尝试在终端中设置路径时:'PATH=$PATH:/.local/bin/' 确实可以解决问题。
请问我该如何解决?
【问题讨论】:
【参考方案1】:解决这个问题最简单的方法是使用:https://github.com/purcell/exec-path-from-shell 包。它将在 Emacs 中设置路径来解决您的问题。如果您不想安装此软件包,可以将以下 sn-p 放入您的 .emacs
。
(let ((path (shell-command-to-string "$SHELL -cl \"printf %s \\\"\\\$PATH\\\"\"")))
(setenv "PATH" path)
(setq exec-path (split-string path path-separator)))
以上内容应该适用于任何与sh
兼容的shell。我建议使用 exec-path-from-shell
易于设置,并且无论您使用什么外壳都可以做正确的事情。
请记住,这两种方法都会从 shell 中获取 $PATH
,因此请确保您的 PATH
已按照您的要求在您的 $HOME/.bashrc
中设置(假设您使用的是 bash)。类似:export PATH=$HOME/.local/bin:$PATH
应该这样做。
【讨论】:
以上是关于Python3,Emacs(OSX)中的Elpy:未找到完成用户错误:无法完成的主要内容,如果未能解决你的问题,请参考以下文章
带有Elpy 1.7.50的Emacs 24无法识别Python项目