Làm thế nào để thiết lập elpy để sử dụng python3?


22

Khi thiết lập emacs của tôi cho một môi trường làm việc mới, tôi không thể có được cấu hình elpy để sử dụng chính xác python 3. Tôi đã cài đặt tất cả các gói cần thiết vào /usr/local/binvà đã cài đặt chúng bằng python3.

Ngay bây giờ, khi tôi chạy elpy-config, tôi nhận được như sau:

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)

Tôi muốn có RPC Python là ipython3 và tương tự cho tương tác. Đối với mục đích của câu hỏi này, giả sử tệp .emacs của tôi trống.


Tôi hy vọng bạn có nghĩa là / usr / local / bin
user151019

Câu trả lời:


16

Bạn có thể cấu hình elpy-rpc-python-command. Nếu bạn muốn Python3, bạn có thể đặt nó như thế này.

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

Cập nhật

Tạo virtualenv python3 bằng virtualenvwrapper từ terminal

$ mkvirtualenv test -p /usr/bin/python3

và sau đó cài đặt các gói cần thiết

$ pip install rope jedi importmagic autopep8 flake8

Bây giờ hãy vào emacs, kích hoạt virtualenv và chạy M-x elpy-config

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

Nếu bạn muốn có ipythonREPL, bạn có thể đặt chức năng này trong cấu hình của mình

(elpy-use-ipython)

hoặc là

(elpy-use-ipython "python3")

Lưu ý: elpy-use-ipythonkhông dùng nữa. Sử dụng

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

hoặc ipythondựa trên phiên bản của bạn.


Làm điều này và sau đó quay trở lại cấu hình nói rằng python3 không được nhận dạng và Jedi, Importmagic và autopep8 hiện được đánh dấu lànot found
adam

Bạn phải đặt đường dẫn đầy đủ đến python3. Nếu bạn đang sử dụng Ubuntu, bạn có thể sử dụng /usr/bin/python3. Trong mọi trường hợp, sẽ tốt hơn nếu bạn tạo env ảo python3, kích hoạt env đó và cài đặt các gói đó. Câu trả lời được cập nhật
ChillarAnand

2
Nếu bạn đã cài đặt ipython cho Python2 và ipython3 được cài đặt cho Python3, thì bạn có thể sử dụng REPL của ipython3 với (elpy-use-ipython "ipython3")giả sử đó là trong đường dẫn của bạn.
Viktor Haag

1
(elpy-use-ipython)bị phản đối; xem elpy.readthedocs.io/en/latest/ide.html#interpreter-setup
BallpointBen

4

Bạn có thể giải quyết điều này bằng cách sửa đổi cấu hình shell python từ python thành python3 trong elpy-config

  1. M-x elpy-config để vào trang cấu hình của elpy
  2. nếu bạn cuộn xuống, bạn sẽ thấy các nhóm có dấu [+], chuyển đổi Python và tìm tùy chọn trình thông dịch shell: Option Python Shell Interpreterlà nhóm bạn đang tìm kiếm.
  3. Nếu bạn nhấp (hoặc Enter trong phiên bản đầu cuối) trên nút Tùy chọn, bạn sẽ có thể chỉnh sửa phần "python" thành "python3"
  4. Áp dụng và lưu, và khởi động lại emacs

Tôi đã làm điều này và elpy-configkhông còn mở ra: nó nói nó không thể tìm thấy python3. Tuy nhiên, python3 trong đường dẫn của tôi bởi vì tôi có thể phát hành nó như là một lệnh trong thiết bị đầu cuối không có vấn đề. Vì một số lý do, emacs không thực sự nắm bắt được con đường đầy đủ của tôi. Đây là một tính năng hay một lỗi? Tôi nhận thấy nó trong nhiều gói khác yêu cầu vỏ kém hơn.
xdavidliu

đừng bận tâm, tôi đang dùng OSX và sử dụng gui emacs, và có một vấn đề rất tệ ở đây là gui emacs (trái ngược với emacs cuối) không nắm bắt được biến PATH của tôi .
xdavidliu

0

Đặt biến trình thông dịch trong .emacstệp của bạn :

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

Lấy từ hướng dẫn elpy

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.