Jaybanuan's Blog

どうせまた調べるハメになることをメモしていくブログ

Visual Studio CodeにPythonのコードのパスを認識させる

はじめに

諸般の事情で、Gitのリポジトリの少し奥の方にあるPythonのコードを開発することになった。 例えば、以下のような感じ。

python-path-on-vscode
`-- calc
    |-- src
    |   `-- calc.py
    `-- tests
        `-- test_calc.py

Visual Studio Codeで開発するのだが、Pythonコードのパスについての環境変数PYTHONPATHを設定しておかないと不便なので、調べたことをメモしておく。

Python Extension用の設定

Microsoftが提供しているPython Extensionに環境変数PYTHONPATHを認識させるためには、Gitのリポジトリに以下の内容で.envを作成する。

PYTHONPATH=calc/src

この設定をしていないと、Python Extensionがコードの位置を認識できず、関数の定義位置にジャンプができないなどの不便が生じる。

Terminal用の設定

Visual Studio CodeのTerminalで環境変数PYTHONPATHを有効にするには、Gitのリポジトリに以下の内容で.vscode/settings.jsonを作成する。

{
    "terminal.integrated.env.linux": {
        "PYTHONPATH": "${workspaceFolder}/calc/src"
    }
}

この設定をしていないと、Terminalから実行したpytestがコードの位置を認識できず、テストコードのimport文でエラーが起きるなどの不便が生じる。

最終的なファイル構成

python-path-on-vscode
|-- .env
|-- .vscode
|   `-- settings.json
`-- calc
    |-- src
    |   `-- calc.py
    `-- tests
        `-- test_calc.py

参考

code.visualstudio.com