Como configurar o elpy para usar o python3?

22

Ao configurar o emacs para um novo ambiente de trabalho, não consigo obter a configuração elpy para usar corretamente o python 3. Instalei todos os pacotes necessários /usr/local/bine os instalei usando python3.

No momento, quando executo o elpy-config, recebo o seguinte:

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)

Eu gostaria que o RPC Python fosse ipython3 e o mesmo para o interativo. Para os fins desta pergunta, suponha que meu arquivo .emacs esteja em branco.

Adão
fonte
Espero que você queira dizer / usr / local / bin
user151019 19/15

Respostas:

16

Você pode confundir elpy-rpc-python-command. Se você deseja Python3, pode configurá-lo assim.

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

Atualizar

Crie python3 virtualenv usando virtualenvwrapper do terminal

$ mkvirtualenv test -p /usr/bin/python3

e instale os pacotes necessários

$ pip install rope jedi importmagic autopep8 flake8

Agora vá para o emacs, ative o virtualenv e execute M-x elpy-config

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

Se você deseja ter ipythoncomo seu REPL, você pode colocar esta função na sua configuração

(elpy-use-ipython)

ou

(elpy-use-ipython "python3")

Nota: elpy-use-ipythonestá obsoleto. Usar

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

ou com ipythonbase na sua versão.

ChillarAnand
fonte
Fazendo isso e, em seguida, voltar para a configuração diz que python3 não é reconhecido e Jedi, Importmagic e autopep8 estão agora marcados comonot found
adam
Você precisa definir o caminho completo para python3. Se você estiver usando o ubuntu, você pode usar /usr/bin/python3. De qualquer forma, é melhor se você criar um ambiente virtual python3, ativar esse ambiente e instalar esses pacotes. Resposta atualizada
ChillarAnand 15/09/2015
2
Se você possui o ipython instalado para o Python2 e o ipython3 instalado para o Python3, pode usar o REPL do ipython3 (elpy-use-ipython "ipython3")assumindo que está no seu caminho.
Viktor Haag
1
(elpy-use-ipython)está obsoleto; veja elpy.readthedocs.io/en/latest/ide.html#interpreter-setup
BallpointBen
4

Você pode resolver isso modificando a configuração do shell python de python para python3 no elpy-config

  1. M-x elpy-config para entrar na página de configuração do elpy
  2. se você rolar para baixo, verá grupos com sinais [+], alterne para o Python e encontre a opção de interpretador de shell: Option Python Shell Interpreteré o que você está procurando.
  3. Se você clicar (ou Entrar na versão do terminal) no botão Opção, poderá editar a parte "python" para "python3"
  4. Aplique, salve e reinicie o emacs
Luke Spinner
fonte
Fiz isso e elpy-confignão abre mais: ele diz que não pode encontrar python3. No entanto, python3 está no meu caminho, porque eu posso emiti-lo como um comando no terminal não há problema. Por alguma razão, o emacs não está realmente capturando meu caminho completo. Isso é um recurso ou um erro? Notei isso em muitos outros pacotes que também exigem conchas inferiores.
Xdavidliu 14/0318
não importa, eu estou no OSX e estou usando o gui emacs, e há uma pegadinha muito ruim aqui: o gui emacs (em oposição ao emacs terminal) não captura minha variável PATH .
Xdavidliu 14/0318
0

Defina a variável intérprete no seu .emacsarquivo:

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

Retirado do manual elpy

init0
fonte