Использование Mac OSC 10.13.4, emacs 25.3 (9.0), Python3
У меня могло быть несколько случаев автозаполнения Elpy для работы на python3, но по какой-то причине не всегда. Например,
numpy.
запускает автозаполнение, но,
pandas.
не.
Моя интуиция такова, что, хотя numpy входит в стандартную комплектацию python3, pandas - нет. Поэтому мне нужно, чтобы emacs указывал на каталог, в котором расположены дополнительные модули. Короче говоря, emacs не использует те же пути, что и python3 ... Я пытался добавить путь к текущим путям emacs, но мне всегда не удавалось добавить их. Как я могу это сделать?
Хорошо, моя интуиция ошибалась. И да, я установил с тем же пипсом. Мне все еще нужно, чтобы emacs "видел" панд. какой-нибудь свинец?
У вас есть несколько Python, оба с установленным numpy, но только один с пандами, и emacs указывают на неправильный?
Я так не верю. когда я делаю pip show <package>, я получаю: /Library/Frameworks/Python.framework/Versions/3.5/lib/python 3.5 / site-packages для pandas и numpy.
На самом деле, если вы используете macOS, у вас делать есть несколько Pythons, знаете вы об этом или нет, а у другого, вероятно, есть numpy, но не pandas, и, вероятно, у него даже нет pip. И, скорее всего, это то, что видит эльпи. Я написал ответ, чтобы подробно объяснить, в том числе как вы можете проверить, является ли это вашей реальной проблемой или нет.
В качестве примечания: пожалуйста, не размещайте скриншоты кода или другого текста; просто скопируйте и вставьте текст.






Проблема почти наверняка в том, что 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, который вы установили, он найдет 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.
У вас есть очень важный момент: когда я запускаю pip из M-x eshell, он сообщает мне, что pip не установлен. хотя мой elpy-config показывает: {Virtualenv ........: None RPC Python ........: 3.5.2 (/ usr / local / bin / python3) Интерактивный Python: / usr / local / bin / python3 (/ usr / local / bin / python3) Emacs .............: 25.3.1 Elpy ..............: 1.19. 0 Джедаи ..............: 0.12.0 Веревка ..............: 0.10.7 Autopep8 .......... : 1.3.5 Yapf ..............: 0.21.0 Проверка синтаксиса ....: Не найдено (flake8 [...] Каталог ~ / .local / bin / не в вашем PATH [...]}
@CyBu Вы не можете форматировать что-либо с пользой в комментариях. Но, к счастью, вся эта информация относится к вашему вопросу, чтобы помочь любому, кто пытается отладить вашу ошибку за вас, или любым будущим спрашивающим с аналогичными проблемами, и, конечно же, вы можете отредактировать вопрос и красиво отформатировать его там.
Numpy не входит в стандартную комплектацию Python 3; это сторонняя библиотека, как и Pandas, и они, скорее всего, установлены в одни и те же пакеты сайта (при условии, что вы выполнили тот же pip, conda или любые другие команды для их установки).