Vimメモ : flake8でPythonのコードをチェックする
- flake8
- syntasticによりVimでflake8を実行
- synstasticのインストール
- synstasticの使い方
- synstasticの設定
- vim-flake8によりVimでflake8を実行
- 追記:ALEで非同期コードチェック
flake8
flake8とは
Flake8: Your Tool For Style Guide Enforcement — flake8 3.3.0 documentation
Pythonのコードチェックツールとしてはflake8
が有名らしい。flake8
は下記コードチェックツールのラッパーなので、flake8
を使用することで広範囲のチェックが可能になる。
- PyFlakes(pyflakes : コードのエラーチェック)
- pycodestyle(pycodestyle : PEP8に準拠しているかチェック)
- Ned Batchelder’s McCabe script(mccabe : 循環的複雑度のチェック)
Vimメモ : vim-python-pep8-indentでインデントをPEP8に準拠させる
PEP8とは
PEPとはPython Enhancement Proposals(Python拡張提案)の略で、8番目のPEP8でPythonコードのスタイルガイド(インデント、1行の長さ、命名規約など)がまとめられている。
PEP
PEP 0 -- Index of Python Enhancement Proposals (PEPs) | Python.org
PEP8
PEP 8 -- Style Guide for Python Code | Python.org
PEP8日本語訳
はじめに — pep8-ja 1.0 ドキュメント
Vimメモ : Pythonの動的リンクでライブラリがロードできない
pyenv
でバージョン管理をしている環境でjedi-vim
をインストールしたがVimを起動すると下記エラーが表示されて使えなかった。
function jedi#init_python の処理中にエラーが検出されました: 行 7: Error: jedi-vim failed to initialize Python: jedi-vim requires Vim with support for Python 2 or 3. (in function jedi#init_python[3]..<SNR>109_init_python, 行 52)
下記コマンドの実行結果では+python3/dyn
となっている。
$ vim --version | grep python +cryptv +linebreak -python +vreplace +cscope +lispindent +python3/dyn +wildignore
だが、Vimで:echo has('python3')
を実行すると1
ではなく0
が返ってきて、:python3 print("test")
を実行すると以下のようにライブラリがロードできないと言われる。
E370: ライブラリ libpython3.5m.so.1.0 をロードできませんでした E263: このコマンドは無効です,ごめんなさい: Pythonライブラリをロードできませんでした.続きを読む