几乎可以肯定,问题在于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尝试以printPython 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 标记更好的问题。