こんにちわlisです!
VSCodeでPython実行時に、Anacondaで作った仮想環境を使用するための方法です!
VS Codeで実行するために
VS CodeでPythonを実行しようとすると、毎回毎回
「どれで実行する???」
的な質問をされて面倒です。
なのでVS Codeで実行するために、まず実行の設定をしておきましょう!
launch.jsonを作る
対処のフォルダをVS Code*1で開きます。
Pythonファイルを開いて、コマンドパレットを開きます*2。
そこで
Debug: Open launch.json
を実行します。
実行すると「Select a debug configuration」が出てきます。
ここで
Python File
を選択します。
setting.jsonを作る
launch.jsonを作成すると、開いているフォルダに「.vscode/launch.json」という形で作成されます。
この.vscodeフォルダ内に「setting.json」を作成します。
内容はコチラ。
{ "python.pythonPath": "C:\\Users\\<ユーザ名>\\AppData\\Local\\Continuum\\anaconda3\\envs\\<仮想環境名>\\python.exe" }
ユーザ名と仮想環境名は、自身の作ったものに合わせてください。
これでF5で実行できる!
ここまで行えば、このフォルダを開いた状態でいれば、デバッグの開始(F5)で実行ができます!
ただ、自分で使っていて最初「ん?」となったことを書き記しておきます。
最初の実行だけ失敗する
F5で実行したとき、どうもactivateを先に実行してくれないようで
- 実行する(未activate状態の模様)
- 失敗する
- そのまま再実行する(閉じたところでactivateされる)
- 実行成功
という流れになっているように見えました。
どこか設定がミスっているのだろうか……
実行時のカレントパスは「開いているフォルダ」
ファイルのに入出力を行うと、パスの指定を行いますよね。
で、相対パスで実行したい場合に「カレントパスどこなの?」となります。
試した所、「vscodeで開いているフォルダのルート」がカレントパスとして実行されていました。
例えば
- 「C:\work\testpy\」を開いていて
- 「C:\work\testpy\test01\main.py」を実行
とした場合は、「C:\work\testpy\」がカレントパスとなります。
なので
- 「C:\work\testpy\img\」は「./img」
- 「C:\work\testpy\test01\img」は「./test01/img」
と指定する感じです。
参考
コチラを参考にしました。ありがとうございました!
あとがき
VSCodeでPython実行時に、Anacondaで作った仮想環境を使用するための方法でした!