Как настроить elpy для использования python3?

22

При настройке emacs для новой рабочей среды я не могу настроить elpy для правильного использования python 3. Я установил все необходимые пакеты /usr/local/binи установил их с помощью python3.

Прямо сейчас, когда я запускаю elpy-config, я получаю следующее:

Virtualenv........: None
RPC Python........: 2.7.6 (/usr/bin/python)
Interactive Python: python (/usr/bin/python)
Emacs.............: 24.5.1
Elpy..............: 1.9.0
Jedi..............: 0.9.0
Rope..............: Not found (0.10.2 available)
Importmagic.......: 0.1.3
Autopep8..........: 0.1.3
Syntax checker....: Not found (pyflakes)

Я хотел бы, чтобы RPC Python был ipython3 и таким же для интерактивного. Для целей этого вопроса предположим, что мой файл .emacs пуст.

Адам
источник
Я надеюсь, что вы имеете в виду / usr / local / bin
user151019

Ответы:

16

Вы можете настроить elpy-rpc-python-command. Если вы хотите Python3, вы можете установить его следующим образом.

(setq elpy-rpc-python-command "python3")

Обновить

Создать python3 virtualenv, используя virtualenvwrapper из терминала

$ mkvirtualenv test -p /usr/bin/python3

а затем установите необходимые пакеты

$ pip install rope jedi importmagic autopep8 flake8

Теперь перейдите в emacs, активируйте virtualenv и запустите M-x elpy-config

M-x pyvenv-workon test
M-x elpy-config

Если вы хотите иметь в ipythonкачестве вашего REPL, вы можете включить эту функцию в вашей конфигурации

(elpy-use-ipython)

или

(elpy-use-ipython "python3")

Примечание: elpy-use-ipythonне рекомендуется. использование

(setenv "IPY_TEST_SIMPLE_PROMPT" "1")
(setq python-shell-interpreter "ipython3"
      python-shell-interpreter-args "-i")

или ipythonна основе вашей версии.

ChillarAnand
источник
Выполнение этого и затем возврат в конфиг говорит, что python3 не распознан и Jedi, Importmagic и autopep8 теперь помечены какnot found
adam
Вы должны установить полный путь к python3. Если вы используете Ubuntu, вы можете использовать /usr/bin/python3. В любом случае, лучше создать виртуальную среду python3, активировать эту среду и установить эти пакеты. Обновленный ответ
ChillarAnand
2
Если у вас установлен ipython для Python2 и ipython3 установлен для Python3, вы можете использовать REPL ipython3, (elpy-use-ipython "ipython3")предполагая, что он находится на вашем пути.
Виктор Хааг
1
(elpy-use-ipython)не рекомендуется; см elpy.readthedocs.io/en/latest/ide.html#interpreter-setup
BallpointBen
4

Вы можете решить эту проблему, изменив конфигурацию оболочки python с python на python3 в elpy-config

  1. M-x elpy-config войти на страницу конфигурации elpy
  2. если вы прокрутите вниз, вы увидите группы со знаками [+], переключите Python и найдите опцию интерпретатора оболочки: Option Python Shell Interpreterэто та, которую вы ищете.
  3. Если вы нажмете (или Войдите в версию терминала) на кнопке «Option», вы сможете отредактировать часть «python» в «python3».
  4. Применить и сохранить и перезапустить emacs
Люк Спиннер
источник
Я сделал это и elpy-configбольше не открывается: он говорит, что не может найти python3. Однако, python3 это в моем пути , потому что я могу выпустить его как команду в терминале проблемы нет. По какой-то причине emacs на самом деле не захватывает мой полный путь. Это особенность или ошибка? Я заметил это во многих других пакетах, требующих также и низших оболочек.
xdavidliu
не берите в голову, я на OSX и использую gui emacs, и здесь есть действительно плохая ошибка, что gui emacs (в отличие от терминального emacs) не захватывает мою переменную PATH .
xdavidliu
0

Установите переменную интерпретатора в вашем .emacsфайле:

(setq python-shell-interpreter "python3"
      python-shell-interpreter-args "-i")

Взято из руководства элпи

init0
источник