LoginSignup
74
57

More than 3 years have passed since last update.

Blackできれいに自動整形!flake8とBlack導入と実行

Last updated at Posted at 2019-10-04

こんにちは!
とあるITベンチャーで長期インターンをしている京都の学生です。
今回はBlackを導入しろ!というカリキュラムがあったので、実際にやって、ちょこっとBlackのアウトプットをしようかなと思っています。
基本的に参考文献に書いてあること書いているだけなので、詳細を見たい方は参考文献を見てください。

Blackについて

僕のインターン先ではflake8Blackを組み合わせて使用しています。
flake8についてのアウトプットに書いたとおり、flake8はコーディングチェックツールのラッパーです。
flake8はコードのチェックにはとても便利で優秀です。
しかし、エラーの修正まではできません。
そこで、このエラーを自動で修正してくれるのがBlackというわけですね。

Blackの導入

Blackを導入するには下記のコマンドを打ちます。

$ pip install black

しかし、僕だけかもしれませんが次にようなエラーが出ました。
Cannot pip install black: No matching distribution found for black
ただ、一瞬で解決する方法があったのでそちらも一緒に紹介します。
こちらを参考にして下記のコマンドを打つだけでいけました。笑

python3.6 -m pip install black 

BlackPython3.6より新しいものでないと機能しないみたいなので、これでも駄目だったら、一度Python3のバージョンを確認してみてください。

VSCodeの設定

Blackのインストールが完了したら、次にVSCodeの設定をいじっていきます。
僕はこちらを参考にしたので、詳しく知りたい方は一度目を通してください。
VSCodeのsettingsの設定を以下のようにしていきます。

設定名 機能 設定値
python.linting.enabled Lint機能を有効にするかどうか true
python.linting.pylintEnabled Linterにpylintを使用するかどうか false
python.linting.flake8Enabled Linterにflake8を使用するかどうか true
python.linting.lintOnSave ファイル保存時にLintを実行するか true
python.formatting.provider Pythonコードの整形に何を使用するか black
editor.formatOnSave ファイル保存時に自動整形するかどうか true

引用元(丸パクリ)
上記の引用元から引っ張ってきた表です。
変えたところとしてはpython.formatting.providerの設定値を僕のインターン先ではBlackを使用しているのでBlackに変えたくらいです。
この設定を行うことでflake8についてのアウトプットでインストールしたflake8Blackを使用できます。
引用元には上記の設定の一つ一つの解説をしてくれているので一度見ることをおすすめします。

実際に使ってみる

では、実際に使ってみましょう。


 def foo():
    print(
                "Hello"
        "World"
        )

上記のコードを保存したときに、下記のコードのようにきれいな状態になっていれば導入成功です。


def foo():
    print("Hello" "World")

まとめ

今回はBlackについて書きました。
flake8に関してはflake8についてのアウトプットに書いてあるので今回ははしょりました。
僕が書いたことはほとんどコピペなのでもっと詳しく知りたいという方は参考文献を見てください!!
最後まで読んでいただきありがとうございます。

参考文献

【VS Code】BlackとFlake8を使ってきれいなPythonコードを書く!!

VSCodeのPython開発環境でpylintの代わりにflake8を導入し自動整形を設定する

もうPythonの細かい書き方で議論しない。blackで自動フォーマットしよう

pip install blackできない人用

Vimメモ : flake8でPythonのコードをチェックする

flake8についてのアウトプット

74
57
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
57