emacsでpython開発環境をつくる(Ubuntu 20.04)
以下のサイトの指示どおりやってみた。
Python-mode のインストール
これは、MELPA からインストール。
eglot のインストール
これも MELPA からインストール。
Python用の language server をインストール
$ pip install 'python-lsp-server[all]'
(参考) https://github.com/python-lsp/python-lsp-server
プラグインのインストール
$ pip3 install pyls-isort
$ pip3 install python-lsp-black
参考サイトの指示どおり、autopep8 と yapf はアンインストールした。
$ pip3 uninstall autopep8
$ pip3 uninstall yapf
init.el に書く
init.el に以下を書いた。これは参考サイトのとおりである。
~/.emacs.d/init.el
;; Python
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons '("python" . python-mode)
interpreter-mode-alist))
(require 'eglot)
;; Python-mode起動時にeglotを有効化
(add-hook 'python-mode-hook 'eglot-ensure)
;; 保存時に自動整形 (eglot)
(add-hook 'python-mode-hook
#'(lambda ()
(add-hook 'before-save-hook
'eglot-format-buffer nil t)))
;; flycheckはOFFにして、flymakeを使うようにしている。
;; 以下のパッケージを使うと、メッセージがカーソル位置に出現するので、
;; エコーエリアと干渉しないのが良い。お好みで。
;; (with-eval-after-load "flymake"
;; (require 'flymake-diagnostic-at-point)
;; (add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode))
内容がよくわからないエラーが出た
Error in post-command-hook (#[0 "\303\304\301\242\305#\210\300\306!\205\0r\211q\210
?\205\0\307\310\311 \")\207" [#<buffer draw_tree.py> (#0) eglot--managed-mode remove-hook post-command-hook nil buffer-live-p apply eglot--connect eglot--guess-contact] 4]): (error "None of ’pylsp, pyls, pyright-langserver’ are valid executables")
Unable to load color "color-137"
解決した (2022.07.19 追記)
上記のよくわからないエラーは、以下のパッケージをインストールすることで でなくなった。
M-x package-install blacken
init.el に以下を追記。
(add-hook 'python-mode-hook 'blacken-mode)
blackは入ってた。
$ pip3 list | grep black
black 22.6.0
python-lsp-black 1.2.1
カテゴリー: Emacs, memo, Python, Python3, Ubuntu
タグ:
カウント: 190