Як налаштувати 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на основі вашої версії.


Зробивши це, а потім повернутися в конфігурацію, говорить про те, що python3 не розпізнається, і джедаї, імпортмагічні та autopep8 тепер позначаються якnot found
adam

Ви повинні встановити повний шлях до python3. Якщо ви використовуєте ubuntu, ви можете використовувати /usr/bin/python3. У будь-якому випадку, краще, якщо ви створите віртуальну програму python3, активуйте цю програму та встановіть ці пакети. Оновлена ​​відповідь
ChillarAnand

2
Якщо у вас встановлено ipython для Python2 та ipython3, встановлені для Python3, то ви можете використовувати ipython3 REPL, (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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.