いちおうYoutubeで動画とともに詳しく解説!
motivation
WindowsPCを再インストールしたので、新たに環境構築を行う事にした
今までPyCharmを使っていたが、出先でMacbookでも開発を行う時にはVSCodeを使っていたので環境統一させたい
なんとなくremote WSLを使ってみたい
ちなみに色々あってWSL2にしている。つまり OSは Windows10 ProのInsiderPreview
Goal
今回のゴールは以前作ったPython Pyramidのサンプルを動かすところまで
https://github.com/YukiMiyatake/YukiMiyatakeWorks/tree/prj/Python/Pyramid/main
Pythonの設定
minicondaインストール
PythonにはAnacondaという、Pythonのバージョン管理システムがあるが
Anacondaは機械学習など非常に多くのパッケージが入っているので
最小パッケージしか入ってない Minicondaを使う
もちろん、必要なパッケージは個別にインストール可能だ
https://docs.conda.io/en/latest/miniconda.html
より、Linux用のインストーラーを取得する。
くれぐれもWindows用を使わないこと!!
そして、ダウンロードしたシェルスクリプトを起動しインストールする
VSCodeの設定
VSCodeのインストール
割愛
remoteWSLで開く
通常はWindowsで開かれている。VSCodeの左下の緑の部分に WSLと書かれてない。
なのでremote WSLで開きなおそう
左下の緑の部分をクリックし
Remote-WSL:New Window
を選ぶ。
新しいウインドウが立ち上がるが、左下の緑の部分にWSLの文字があることを確認しよう
そして OpenFolderを選ぶのだが、ShowLocalからフォルダを選ぶとWindowsになってしまうので
WSLでのパスを入力してOKを押そう
デフォルトではCドライブは /mnt/cになっているが、設定をかきかえ /cにしてある
そのあたりは別のQiitaに書いた
Terminalから pythonやcondaと入力して、先ほどインストールされたものが表示されることを確認しよう
##各種プラグインを入れる
Pythonのスニペット等必要なものを入れよう
##setup.py
必要なパッケージをインストール
$ python setup.py develop
##コマンドライン実行
まずはコマンドラインより、実行しブラウザで確認する
$ pserve development.ini
##VSCodeからDebugで立ち上げる
launch.jsonを設定します
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Testapp",
"type": "python",
"request": "launch",
"module": "pyramid.scripts.pserve",
"args": [
"${workspaceFolder}/development.ini"
],
"pyramid": true,
"jinja": true
}
]
}
ブレークポイントをおいてデバッグ実行して止まればOK
##Linterの設定
Pylintは厳しすぎるので、flake8を使うことにする
ただしflake8は自動で直してくれないのでオートフォーマッタにblackを使う
condaあるいはpipで、flake8とblackをインストール
Preferenceで、Linterの設定をしていく
flake8は79文字で改行を指摘してくるがblackは88行で改行を行う
そのため、80~88文字だとflake8の指摘が残るため
flake8の設定を88文字改行にする
Preferenceから flake8の引数を設定していこう
ファイル保存時にblackでフォーマットする設定にしたのでそれを確かめる
#UnitTest
今回はunittest.pyを使う
まずはコマンドラインからunittestが叩けることを確認する
しかしこのままではテストをデバッグ実行できないのでVSCodeで設定を行う
コマンドパレット(Ctrl+Shif+P)より、単体テストの設定を行う
ここを適切に設定したのち、コマンドパレットからテスト実行をすると
Testメニューに結果が出る
今回はテスト失敗が2個出た
メニューから再テストも行えるし、ブレークポイントをはりテストをデバッグすることも可能
以上、Windowsの VisualStudioCode remote WSLでPythonの開発環境を作るメモでした