質問: vscode上でflake8とyapfが動いてくれません。 現在はユーザーセッティングの方に設定を書いていて、ワークスペースの設定のほうに書いても動作してくれませんでした。 環境は以下のとおりです。 * Windows 10 Home 1803 17134.286 + VSCode 1.27.2 + Python 3.5.1 + flake8 3.5.0 + yapf 0.24.0 下記のコードで試してみましたが、だめでした。 設定の画像を貼りますので、ここが間違っていて、こうすると動くよというのがあれば教えていただければ幸いです。 よろしくおねがいします。 ``` print('test') ``` ![vscode_python](https://i.stack.imgur.com/mT7Md.jpg) --- 解決しました。 pycodestyleのバージョンが新しいとflake8が追従しきれなくて依存性に問題が出るそうです。 そこで、flake8のバージョンを上げるか、pycodestyleのバージョンを下げると問題が解決します。 私の場合、flake8の更新が来ていたので、更新したところ、無事に動くようになりました。
回答: * **可能性1**: ファイルが Python モードで開かれていないのかもしれません。よくありそうなのは言語モードが「プレーンテキスト」になっている場合です。標準ではウィンドウ右下に表示されていますので、拡張子 `.py` のファイルとして保存するなどして言語モードを Python にしてください。 !VS Code のウィンドウ右下のツールバー最右に「プレーンテキスト」と書かれています。言語モードの表示です。 * **可能性2**: そもそも flake8 や yapf に適合したコードになっていて、何も通知が出ないのかもしれません。明らかにエラーが出る例を渡した方が分かりやすそうです。たとえばインデント幅が 4 の倍数になっていない以下のコードは flake8 が E111 "indentation is not a multiple of four" を出します。また yapf はこのコードのインデント幅を 4 にします。 ``` if True: pass ``` * **可能性3**: flake8 や yapf が VSCode 側から見つかっていないのかもしれません。`python.linting.flake8Path` や `python.formatting.yapfPath` をご確認ください。 * **可能性4**: flake8 3.5.0 において、flake8 が依存している pycodestyle と依存性の問題があるようです。2018 年 9 月現在 flake8 は pycodestyle >=2.4.0 と互換していません。これは flake8 がアップデートに追従しきれていないことが原因です。このため、新しいバージョンの pycodestyle をダウングレードする必要があります。まず、今インストールされている pycodestyle のバージョンを確認します。 ``` pip show pycodestyle ``` pycodestyle のバージョンが新しすぎれば、一度アンインストールして再度バージョン指定してインストールします (おそらく後者を行うだけで大丈夫ですが、念の為アンインストールの手順も入れてあります)。 ``` pip uninstall pycodestyle pip install "pycodestyle<2.4.0" ```