Visual Studio Code - ikymrkw/pydepot GitHub Wiki

Tips

ワークスペースの作り方

File > Open Folder... でフォルダを開き、 File > Save as Workspace... で拡張子 .code-workspace ファイルを保存する。

次からは File > Open Workspace from File... や Open Recent... から開くことができる。

機械学習の環境

手軽に機械学習環境を作るには virtualenv (venv) + VSCode が良い。(個人利用・学術利用なら venv の代わりに Anaconda のほうが簡単。)

  • 事前準備
    • VSCode をインストールし、Python拡張機能を入れておく。
    • Python (3) をインストールし、 pip で venv をインストールする。
      • Python を複数インストールした場合、Windowsのコマンドプロンプトから実行されるpython(=VSCodeのターミナルで実行されるpython)とVSCodeがPython実行環境として使うpythonは独立しているので、正しく調整・設定する必要がある。前者は py --list で確認してPATH環境変数を直す必要がある。
  • 作業の開始
    • 作業フォルダを作り、そこでコマンドプロンプトを起動して py -m venv .ml を実行(.ml はフォルダ名かつ環境名なのでわかれば何でもよい)。
    • VSCode を開いて、「フォルダを開く...」でそのフォルダを開く。2回目からは「最近使用した項目を開く」でいい。
    • そのままだと venv 環境が有効になっていないかもしれないので、左下の「Python 3.x.y 64-bit」というところをクリックして「Python 3.x.y 64-bit ('.ml': venv)」を選ぶ。
  • Python ライブラリの追加
    • 作業フォルダでコマンドプロンプトを起動して pip install XXX とするのが自明な方法。
    • venv が有効になった VSCode のターミナルから pip install XXX としてもいけそうな気がするが、ダメだったような気もする。(要確認)
      • VSCode から直接 Jupyter Notebook を使っている場合は、Jupyter Serverが使っている環境にインストールする必要がある。Notebook のセル上で、%pip install XXX とするのがいちばん簡単だろう。

とりあえずこれやっとけ

https://qiita.com/sin9270/items/85e2dab4c0144c79987d

  • 拡張
    • Error Lens
    • indent-rainbow
    • Trailing Space
    • autoDocstring
  • 設定
    • Insert Final Newline
    • Trim Trailing Whitespace
    • black : pip install black してパスを Formatting の設定に入れる。 できれば --line-length=79 を加える。 python formatting provider を autopep8 から black にする
    • flake8 : pip install flake8 してパスを Linting の設定に入れる flake8 の出力はすべて Warning にするのがよい
    • isort : pip install isort してパスを Sort Imports の設定に入れる 好みで save 時に自動で実行されるようにしてもいい
    • mypy : linting の設定で mypy を有効にする、出力レベルは info か Mypy Args でカスタマイズできる

自分の好み:

  • indent-rainbow はうざいので無効に
  • flake8 args に --extend-ignore=W293 : 空行のインデントを警告しない(必要なら formatter が直すので、人間に指摘して直させるのはやめる)

トラブルシューティング

Windows から SSH しようとしたら Bad Owner or Permission

ターミナルを見るとどのファイルが問題かわかる。~/.ssh/config など。

SSH はこれらのファイルにユーザ自身(と管理者ユーザ)以外のアクセス許可が出ているとエラーとして動作を止めるため。

解決策:問題のファイルの「プロパティ」をエクスプローラーで開き、「セキュリティ」タブで該当ユーザを削除する。削除できない場合は「詳細設定」に入り、「継承の無効化」(?)を実行してから削除する。