Sublime text3 へ Python のリンターをインストールする

# 前略
どうも私です。
最近、Kindle で『月刊少女野崎くん』を全巻買いました。
その前は気づいたら『魔法使いの嫁』を全巻買っていました。
炬燵と Kindle と部屋と Sublime text3 と私。どうも散財気味な気がします。

現在、のんびりと Sublime text3 で Python の開発環境を整えている最中です。
リンター周りを整備しようと思ったので自身の備忘録がてら記事にしました。

どなたかの参考になれれば幸いです。


# 環境
- macOS Sierra 10.12.6
- Python 3.6.2


# この記事でわかること
- Sublime text3 でインストール可能なリンタープラグイン。
- Sublime text3 にリンタープラグインをインストールする方法。

<!-- Sublime text3 でインストール可能な文法チェックの自動補完プラグイン。 -->


# この記事では説明しないこと
- インストールする上で "Package Control" と "pip コマンド" を使用します。
- ですが、それぞれのインストール方法についてはこの記事では扱いません。

# 注意点 :bow:
- 2017/12/12 段階の情報です。


# sublime text3 でインストール可能なリンタープラグイン
## PEP8
- 例の有名な python のコーディングスタイルガイドです。
- 公式に触れたい方は"参考リンク"にありますのでどうぞどうぞ。
- [Sublime​Linter-pep​8](https://packagecontrol.io/packages/SublimeLinter-pep8) からインストール可能です。

## PEP258
- `docstring` に関するコーディングスタイルガイドです。
- `docstring` とは「モジュールやファンクションやクラスやメソッドの最初に出てくる文」のことらしいです。
- 公式に触れたい方は"参考リンク"にありますのでどうぞどうぞ。
- [Sublime​Linter-pydocstyle](https://packagecontrol.io/packages/SublimeLinter-pydocstyle) からインストール可能です。


## PyFlakes
- スタイルに対するチェックではなくファイル内のエラー等をチェックしてくれます。
- 例えば、 未使用のモジュールや未使用の変数について注意してくれたりします。
- [Sublime​Linter-pyflakes](https://packagecontrol.io/packages/SublimeLinter-pyflakes) からインストール可能です。

## Flake8
- 公式を読む限り flake8 は pep8 と PyFlakes と McCabe をラップしたものです。
- [SublimeLinter-flake8](https://packagecontrol.io/packages/SublimeLinter-flake8) からインストール可能です。

## Pylint
- コーディングスタイルガイドからエラーチェック、コードの品質評価まで行なってくれます。
- 多分この子が一番厳しいと思います :angel_tone2: 
- [Sublime​Linter-pylint](https://packagecontrol.io/packages/SublimeLinter-pylint) からインストール可能です。

# Sublime text3 にリンターをインストールする方法
- ざっくりと流れを先に説明してしまうと以下の通りです。
 1. リンター用のフレームワークプラグインのインストール
 1. 各種リンタープラグインをお好みでインストール
 1. 自身の環境に pip コマンドを使用して`対応するリンターのパッケージ`をインストール
 1. Sublime text3 の再起動 

## 1. リンター用のフレームワークプラグインのインストール
- [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter) をインストールしましょう。
- `command + shift + p`でコンソールを出して "Package Control: install Package" で "SublimeLinter" をインストールしましょう。
- あとはいつもの `Package Control` の操作通りです。

## 2. 各種リンタープラグインをお好みでインストール
- お好みのリンタープラグインを組み合わせて入れてしまえば問題ありません。
- `command + shift + p`でコンソールを出して "Package Control: install Package" でインストールしたいリンターを検索しましょう。
- あとはいつもの `Package Control` の操作通りです。

## 3. 自身の環境に pip コマンドを使用して対応するリンター用のパッケージをインストール
- Sublime text3 のプラグインと python 側のパッケージの対応は下記の通りです。
- インストール用のコマンドも一応記載しておきますが公式にもちゃんと記載があります。
- うまくいかない場合は公式に回帰する方が良いと思われます。
 
```shell
### Sublime​Linter-pep​8 : pep8
$pip install pep8


### Sublime​Linter-pydocstyle : pydocstyle
$pip install pydocstyle


### Sublime​Linter-pyflakes : pyflakes
$pip install pyflakes


### SublimeLinter-flake8 : flake8
$pip install flake8


### Sublime​Linter-pylint : pylint
$pip install pylint
```

## 4. Sublime text3 の再起動
- 現在開いている Sublime text3 を一度閉じて開き直せば OK です。
- 以下のような感じでチェックが入るようになります。

<img width="793" alt="linter_error.png" src="https://qiita-image-store.s3.amazonaws.com/0/66429/85aa421b-a6e4-5bcf-f8cf-03dac62c9be5.png">


# 個人的な設定...
- 私自身は以下の2点を現在使用しております。
 - Sublime​Linter-pydocstyle
 - SublimeLinter-flake8

# 参考リンク
- [PEP 8 -- Style Guide for Python Code](http://legacy.python.org/dev/peps/pep-0008/)
- [PEP 257 -- Docstring Conventions | Python.org](https://www.python.org/dev/peps/pep-0257/)
- [pyflakes 1.6.0 : Python Package Index](https://pypi.python.org/pypi/pyflakes)
- [flake8 3.5.0 : Python Package Index](https://pypi.python.org/pypi/flake8)
- [pylint 1.7.5 : Python Package Index](https://pypi.python.org/pypi/pylint)