繁体   English   中英

emacs python Elpy自动完成不适用于所有人

[英]emacs python Elpy auto-complete not working for all

使用Mac OSC 10.13.4,emacs 25.3(9.0),Python3

我可能有一些Elpy自动补全功能可用于python3,但由于某些原因,并非总是如此。
例如,

numpy.

触发自动补全,但是

pandas.

才不是。

我的直觉是,虽然numpy是python3的标准配置,但pandas没有。 因此,我需要emacs指向附加模块所在的目录。 简而言之,emacs不使用与python3相同的路径...我试图将路径添加到当前emacs路径,但是它始终无法追加这些路径。 我怎样才能做到这一点?

Numpy自动补全 但是熊猫没有

问题几乎可以肯定是elpy没有使用您认为的相同的Python。

由于您使用的是macOS,因此您至少还有一个其他Python – Apple在/usr/bin/python预安装的Python 2.7版本。 并且在大多数macOS版本中,它包括一个特殊的“ Extras”目录,该目录充满了通常不是Python内置的东西-包括numpy ,但不包括pandas ,在某些版本中甚至不包括pip

因此,您的pip show numpypip show pandas正在使用Python 3.5 pip ,因为这是您唯一的pip

但是,如果elpy找到的是Apple的Python 2.7,而不是您安装的Python 3.5,它将找到Extras numpy并且不会找到任何pandas

您还应该看到其他怪异的异常行为,例如elpy尝试以Python 2.x语句而不是Python 3.x函数的形式完成print -但是诊断问题的最简单方法是不深入所有这些细节,而是只是Mx elpy-config 它应该显示如下内容:

Virtualenv........: None
RPC Python........: 2.7.10 (/usr/bin/python)
Interactive Python: python (/usr/bin/python)
Emacs.............: 25.3.0

…等等

如果是这样,答案是您需要修复elpy配置以使用/usr/local/bin/python3 (或任何适合您的Python 3.5的路径)。

我相信只配置elpy-rpc-python-command会导致它正确地拾取其他所有内容。 或者,您可以只在elpy-config本身中进行操作。 但这对于emacs.SE可能是一个比SO上的Python标签更好的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM