Come configurare elpy per usare python3?


22

Quando installo i miei emacs per un nuovo ambiente di lavoro, non riesco a ottenere la configurazione di elpy per usare correttamente Python 3. Ho installato tutti i pacchetti richiesti /usr/local/bine li ho installati usando Python3.

In questo momento, quando eseguo elpy-config sto ottenendo il seguente:

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)

Vorrei che RPC Python fosse ipython3 e lo stesso per interattivo. Ai fini di questa domanda, supponiamo che il mio file .emacs sia vuoto.


Spero che intendi / usr / local / bin
user151019

Risposte:


16

Puoi configurare elpy-rpc-python-command. Se vuoi Python3 puoi impostarlo in questo modo.

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

Aggiornare

Crea python3 virtualenv usando virtualenvwrapper dal terminale

$ mkvirtualenv test -p /usr/bin/python3

e quindi installare i pacchetti richiesti

$ pip install rope jedi importmagic autopep8 flake8

Ora vai su emacs, attiva virtualenv ed esegui M-x elpy-config

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

Se si desidera avere ipythoncome REPL, è possibile inserire questa funzione nella propria configurazione

(elpy-use-ipython)

o

(elpy-use-ipython "python3")

Nota: elpy-use-ipythonè obsoleto. Uso

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

o in ipythonbase alla tua versione.


In questo modo e poi tornando alla configurazione, si dice che python3 non è riconosciuto e Jedi, Importmagic e autopep8 sono ora contrassegnati comenot found
adam

Devi impostare il percorso completo per python3. Se stai usando Ubuntu, puoi usare /usr/bin/python3. In ogni caso, è meglio se crei env virtuale python3, attivi quell'env e installi quei pacchetti. Risposta aggiornata
ChillarAnand

2
Se hai installato ipython per Python2 e ipython3 installato per Python3, puoi utilizzare il REPL di ipython3 (elpy-use-ipython "ipython3")assumendo che sia nel tuo percorso.
Viktor Haag,


4

Puoi risolverlo modificando la configurazione della shell python da python a python3 in elpy-config

  1. M-x elpy-config per accedere alla pagina di configurazione di elpy
  2. se scorri verso il basso vedrai gruppi con segni [+], attiva o disattiva quello di Python e trova l'opzione dell'interprete della shell: Option Python Shell Interpreterè quella che stai cercando.
  3. Se si fa clic (o Invio nella versione terminale) sul pulsante Opzione, sarà possibile modificare la parte "python" in "python3"
  4. Applica e salva e riavvia emacs

L'ho fatto e elpy-confignon si apre più: dice che non riesce a trovare python3. Tuttavia, python3 è nel mio percorso perché posso emetterlo come comando nel terminale senza problemi. Per qualche ragione emacs non sta effettivamente catturando il mio percorso completo. È una funzionalità o un bug? L'ho notato in molti altri pacchetti che richiedono anche shell inferiori.
xdavidliu,

non importa, sono su OSX e utilizzo gui emacs, e qui c'è un brutto problema che gui emacs (al contrario di terminal emacs) non acquisisca la mia variabile PATH .
xdavidliu,

0

Imposta la variabile interprete nel tuo .emacsfile:

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

Tratto dal manuale di elpy

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.