48717


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

下記のコードで試してみましたが、だめでした。  
設定の画像を貼りますので、ここが間違っていて、こうすると動くよというのがあれば教えていただければ幸いです。  
よろしくおねがいします。

[code]

    print('test')
    
[/code]

[![vscode_python](https://i.stack.imgur.com/mT7Md.jpg)](https://i.stack.imgur.com/mT7Md.jpg)

* * *

解決しました。  
pycodestyleのバージョンが新しいとflake8が追従しきれなくて依存性に問題が出るそうです。  
そこで、flake8のバージョンを上げるか、pycodestyleのバージョンを下げると問題が解決します。  
私の場合、flake8の更新が来ていたので、更新したところ、無事に動くようになりました。


CC BY-SA 4.0
2018-09-25T23:35:32.990
48708
2018-09-28T11:18:49.977
2018-09-28T11:18:49.977
30221
30221
question
python python3 vscode
VSCodeのflake8とyapfが動いてくれない


  * **可能性1** : ファイルが Python モードで開かれていないのかもしれません。よくありそうなのは言語モードが「プレーンテキスト」になっている場合です。標準ではウィンドウ右下に表示されていますので、拡張子 `.py` のファイルとして保存するなどして言語モードを Python にしてください。

[![VS Code
のウィンドウ右下のツールバー最右に「プレーンテキスト」と書かれています。言語モードの表示です。](https://i.stack.imgur.com/nABbW.png)](https://i.stack.imgur.com/nABbW.png)

  * **可能性2** : そもそも flake8 や yapf に適合したコードになっていて、何も通知が出ないのかもしれません。明らかにエラーが出る例を渡した方が分かりやすそうです。たとえばインデント幅が 4 の倍数になっていない以下のコードは flake8 が E111 "indentation is not a multiple of four" を出します。また yapf はこのコードのインデント幅を 4 にします。
[code]     if True:

     pass
    
[/code]

  * **可能性3** : flake8 や yapf が VSCode 側から見つかっていないのかもしれません。`python.linting.flake8Path` や `python.formatting.yapfPath` をご確認ください。

  * **可能性4** : flake8 3.5.0 において、flake8 が依存している pycodestyle と依存性の問題があるようです。2018 年 9 月現在 flake8 は pycodestyle >=2.4.0 と[互換していません](https://gitlab.com/pycqa/flake8/issues/427)。これは flake8 がアップデートに追従しきれていないことが原因です。このため、新しいバージョンの pycodestyle をダウングレードする必要があります。まず、今インストールされている pycodestyle のバージョンを確認します。
[code]     pip show pycodestyle

    
[/code]

pycodestyle のバージョンが新しすぎれば、一度アンインストールして再度バージョン指定してインストールします
(おそらく後者を行うだけで大丈夫ですが、念の為アンインストールの手順も入れてあります)。

[code]     pip uninstall pycodestyle

    pip install "pycodestyle<2.4.0"
    
[/code]


CC BY-SA 4.0
2018-09-26T06:01:25.097
48717
2018-09-27T06:24:02.667
2018-09-27T06:24:02.667
19110
19110
48708
answer