Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
31
Help us understand the problem. What is going on with this article?
@tsu_0514

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

More than 1 year has passed since last update.

こんにちは!
とある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についてのアウトプット

31
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tsu_0514
文系エンジニア目指してます。 のらりくらり勉強しています。 週一回ほどの頻度で更新します。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
31
Help us understand the problem. What is going on with this article?