Bagaimana cara mengatur elpy untuk menggunakan python3?

22

Ketika mengatur emacs saya untuk lingkungan kerja baru, saya tidak dapat mendapatkan konfigurasi elpy untuk menggunakan python 3. Saya telah menginstal semua paket yang diperlukan /usr/local/bindan menginstalnya menggunakan python3.

Saat ini, ketika saya menjalankan elpy-config saya mendapatkan yang berikut:

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)

Saya ingin RPC Python menjadi ipython3 dan sama untuk interaktif. Untuk keperluan pertanyaan ini, anggap file .emacs saya kosong.

adam
sumber
Saya harap Anda maksud / usr / local / bin
user151019

Jawaban:

16

Anda dapat mengkonfigurasi elpy-rpc-python-command. Jika Anda ingin Python3 Anda dapat mengaturnya seperti ini.

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

Memperbarui

Buat python3 virtualenv menggunakan virtualenvwrapper dari terminal

$ mkvirtualenv test -p /usr/bin/python3

dan kemudian instal paket yang diperlukan

$ pip install rope jedi importmagic autopep8 flake8

Sekarang buka emacs, aktifkan virtualenv dan jalankan M-x elpy-config

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

Jika Anda ingin memiliki ipythonsebagai REPL Anda, Anda dapat menempatkan fungsi ini di konfigurasi Anda

(elpy-use-ipython)

atau

(elpy-use-ipython "python3")

Catatan: elpy-use-ipythonsudah usang. Menggunakan

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

atau ipythonberdasarkan versi Anda.

ChillarAnand
sumber
Melakukan ini dan kemudian kembali ke konfigurasi mengatakan bahwa python3 tidak dikenali dan Jedi, Importmagic, dan autopep8 sekarang ditandai sebagainot found
adam
Anda harus mengatur path lengkap ke python3. Jika Anda menggunakan ubuntu, Anda dapat menggunakan /usr/bin/python3. Bagaimanapun, lebih baik jika Anda membuat python3 virtual env, aktifkan env itu dan instal paket-paket itu. Jawaban yang diperbarui
ChillarAnand
2
Jika Anda menginstal ipython untuk Python2 dan ipython3 diinstal untuk Python3, maka Anda dapat menggunakan REPL ipython3 dengan (elpy-use-ipython "ipython3")asumsi itu ada di jalur Anda.
Viktor Haag
1
(elpy-use-ipython)sudah ditinggalkan; lihat elpy.readthedocs.io/en/latest/ide.html#interpreter-setup
BallpointBen
4

Anda dapat menyelesaikan ini dengan memodifikasi konfigurasi shell python dari python ke python3 di elpy-config

  1. M-x elpy-config untuk masuk ke halaman konfigurasi elpy
  2. Jika Anda menggulir ke bawah, Anda akan melihat grup dengan tanda [+], beralih satu Python dan menemukan opsi penerjemah shell: Option Python Shell Interpreteradalah yang Anda cari.
  3. Jika Anda mengklik (atau Masukkan versi terminal) pada tombol Opsi Anda akan dapat mengedit bagian "python" menjadi "python3"
  4. Terapkan dan simpan, dan mulai ulang emacs
Luke Spinner
sumber
Saya melakukan ini dan elpy-configtidak lagi terbuka: katanya tidak ditemukan python3. Namun, python3 ada di jalur saya karena saya bisa mengeluarkannya sebagai perintah di terminal tidak ada masalah. Untuk beberapa alasan emacs tidak benar-benar menangkap jalur lengkap saya. Apakah ini fitur atau bug? Saya perhatikan di banyak paket lain yang membutuhkan cangkang inferior juga.
xdavidliu
Sudahlah, saya menggunakan OSX dan menggunakan gui emacs, dan ada gotcha yang sangat buruk di sini bahwa gui emacs (tidak seperti terminal emacs) tidak menangkap variabel PATH saya .
xdavidliu
0

Setel variabel juru bahasa dalam .emacsfile Anda :

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

Diambil dari manual elpy

init0
sumber