一千萬個為什麽

搜索

Emacs 25.1和Python 3.6.0集成[新手]

Preface:

我幾乎只用了幾個月就開始涉足python編程。以前,我花了大部分的編程時間使用C#和Visual Studio。在Python世界中,我一直在使用PyCharm進行項目。它具有出色的代碼完成功能(非常類似於我曾經使用的IntelliSense)以及良好的可定制性。然而,在一天結束時,我想要一些更輕,更少笨重的東西。我看過開發人員使用Emacs和Python的視頻,我對學習它很感興趣。

Setup:

  • Python 3.6.0 is installed.
  • I have downloaded emacs-25.1-x86_64-w64-mingw32.zip from the Emacs website.
  • I have created a folder C:\emacs and extracted the zip file to this location
  • I have identified the Emacs home folder as C:\Users\joshu\AppData\Roaming\.emacs.d
  • I have created an init.el file in this directory since one did not exist

Python Integration:

現在,這是我在努力的地方。我仍然是該軟件的新手,所以從互聯網上拼湊信息有點困難。使用本教程我開發了一個基線 init.el 文件。由於我的聲譽點,我不能在這裏包含第三個鏈接。包含我的 init.el 文件的Gist在下面評論。

當我打開Emacs並打開python文件時,編輯工作。但是,我遇到了下面列出的問題:

  1. C-c C-c returns an error. It seems to be a relatively wide-spread error upon Googling. By simply typing C-c C-c again, the shell will appear with the code being executed; however, it gives me the line python.el: native completion setup failed

Edit: The error is Warning (python): Your ‘python-shell-interpreter’ doesn’t seem to support readline, yet ‘python-shell-completion-native’ was t and "python3" is not part of the ‘python-shell-completion-native-disabled-interpreters’ list. Native completions have been disabled locally.

  1. Python自動完成功能似乎無法正常工作。使用PyCharm時,我獲得了更強大的完成功能。在Emacs的情況下,如果我開始從tkint 鍵入諸如之類的內容,則不會建議 tkinter 。同樣,如果我從數學導入開始輸入,它將不會建議 abs 。我完全不確定如何配置Python自動完成。我已經閱讀了一些關於使用 pip install jedi 等的內容,但我還沒有做過。

我意識到這可能與某些問題上的Emacs問題一樣多。任何見解都表示贊賞。

最佳答案

這似乎是emacs及其修復的在此提交中的錯誤。

正如npostavs所提到的,你可以使用

(with-eval-after-load 'python
  (defun python-shell-completion-native-try ()
    "Return non-nil if can trigger native completion."
    (let ((python-shell-completion-native-enable t)
          (python-shell-completion-native-output-timeout
           python-shell-completion-native-try-output-timeout))
      (python-shell-completion-native-get-completions
       (get-buffer-process (current-buffer))
       nil "_"))))

您可以在此處閱讀整個討論

轉載註明原文: Emacs 25.1和Python 3.6.0集成[新手]