目次
概要
python-modeはPythonプログラムを編集、デバッグ、開発するEmacsのメジャーモードです。
環境
文書作成時のOS,ソフトウェアのバージョンは以下のとうりです。
OS:Debian buster(testing)
Emacs:25.2.2
pyhton3.7:3.7.0-1
python-mode:6.2.3-1
インストール
apt-get install python-mode
設定
python-mode
autoloadの設定は’/etc/emacs/site-start.d/50python-mode.el’でされているので各自の設定は不要です。
doctest-mode
autoloadの設定は’/etc/emacs/site-start.d/50python-mode.el’でされているので各自の設定は不要です。
company-pycomplete
補完入力はcompanyを使っているので
‘/usr/share/emacs/site-lisp/python-mode/completion/company-pycomplete.el’のCommentaryを参考に
(add-hook 'python-mode-hook
'(lambda()
(setq company-backends '((company-pycomplete)))
)
)
のように設定しました。
これは、python-modeのときだけ、companyのバックエンドをcompany-pycompleteに変更します。
pycomplete.py
‘/usr/share/pyshared/pycomplete.py’は
if sys.version_info[0] >= 3: # Python 3
import io
else: # Python 2
import StringIO
のように、Pythonのバージョンをチェックします。
よって、以下のようにして、自分が使うpythonのバージョンを最新の3.7にしました。
cd ~/bin
ln -s python3 python
ln -s /usr/bin/python3.7 python3
これは、’.bashrc’に
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
のような設定をしているため、’~/bin/python’をシステムの’/usr/bin/python’より優先してくれます。
カスタマイズ
python-mode
- py-highlight-error-source-p カスタマイズ変数’py-highlight-error-source-p(Default:nil)’を’t’に変更しました。 When py-execute-… commands raise an error, respective code in source-buffer will be highlighted. Default is nil.
M-x `py-remove-overlays-at-point’ removes that highlighting. - py-company-pycomplete-p カスタマイズ変数’py-company-pycomplete-p(Default:nil)’をtに変更しました。 Load company-pycomplete stuff. Default is nil
- py-tab-indents-region-p カスタマイズ変数’py-tab-indents-region-p(Default:nil)’をtに変更しました。 When `t’ and first TAB doesn’t shift, indent-region is called.
- py-verbose-p カスタマイズ変数’py-verbose-p(Default:nil)’をtに変更しました。 If functions should report results.
参考リンク
Ubuntu16.04でPythonのバージョンを2.7から3.6にバージョンアップする – ちょっと便利なてっちーノート