Проблема почти наверняка в том, что elpy
не использует тот же Python, который вы думаете.
Поскольку вы работаете в macOS, у вас есть по крайней мере еще один Python - предустановленная версия ApplePython 2,7 в /usr/bin/python
.И в большинстве версий macOS это включает специальный каталог «Extras», полный вещей, которые обычно не входят в состав Python - который включает numpy
, но не pandas
, а в некоторых версиях даже не pip
.
Итак, ваши pip show numpy
и pip show pandas
используют Python 3.5 pip
, потому что это единственный pip
, который у вас есть.
Но если elpy
находит Python от Apple2.7 вместо Python 3.5, который вы установили, он найдет Extras numpy
и не найдет 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
… и т. Д.
Если это так, ответ заключается в том, что вам нужно исправить конфигурацию elpy
, чтобы использовать /usr/local/bin/python3
(или что-то ещесоответствующий путь к вашему Python 3.5).
Я полагаю, что простая настройка elpy-rpc-python-command
заставит его правильно подобрать все остальное.Или вы можете просто сделать это из самого elpy-config
.Но это, вероятно, лучший вопрос для emacs.SE , чем тег Python на SO.