几乎可以肯定,问题在于elpy
没有使用您认为的相同 Python。
由于您使用的是 macOS,因此您至少还有一个 Python — Apple 预装的 Python 2.7 版本/usr/bin/python
。在大多数 macOS 版本中,这包括一个特殊的“Extras”目录,其中包含 Python 通常不内置的内容——其中包括numpy
,但不包括 ,pandas
在某些版本中甚至不包括pip
.
所以,你pip show numpy
和pip show pandas
正在使用 Python 3.5 pip
,因为这是pip
你唯一拥有的。
但如果elpy
是查找 Apple 的 Python 2.7 而不是您安装的 Python 3.5,它会找到 Extrasnumpy
而不会找到任何pandas
.
您还应该看到其他奇怪的错误行为,例如elpy
尝试以print
Python 2.x 语句而不是 Python 3.x 函数的形式完成 - 但诊断问题的最简单方法不是深入研究所有这些细节,而只是M-x elpy-config
. 它应该显示如下内容:
Virtualenv........: None
RPC Python........: 2.7.10 (/usr/bin/python)
Interactive Python: python (/usr/bin/python)
Emacs.............: 25.3.0
… ETC。
如果是这样,答案是您需要修复elpy
要使用的配置/usr/local/bin/python3
(或 Python 3.5 的任何适当路径)。
我相信只是配置elpy-rpc-python-command
会导致它正确地拾取其他所有东西。或者你可以从它elpy-config
自身内部去做。但这对于emacs.SE 来说可能是一个比 SO 上的 Python 标记更好的问题。