lisz-works

プログラミングと興味を貴方に

Python3 Anacondaで作った仮想環境をVSCodeで実行

【スポンサーリンク】

Python

こんにちわlisです!

VSCodeでPython実行時に、Anacondaで作った仮想環境を使用するための方法です!

VS Codeで実行するために

VS CodeでPythonを実行しようとすると、毎回毎回

「どれで実行する???」

的な質問をされて面倒です。

なのでVS Codeで実行するために、まず実行の設定をしておきましょう!

launch.jsonを作る

対処のフォルダをVS Code*1で開きます。

対象のフォルダをVSCodeで開く

Pythonファイルを開いて、コマンドパレットを開きます*2

そこで

Debug: Open launch.json

Debug: Open launch.json

を実行します。

実行すると「Select a debug configuration」が出てきます。

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を先に実行してくれないようで

  1. 実行する(未activate状態の模様)
  2. 失敗する
  3. そのまま再実行する(閉じたところでactivateされる)
  4. 実行成功

という流れになっているように見えました。

どこか設定がミスっているのだろうか……

実行時のカレントパスは「開いているフォルダ」

ファイルのに入出力を行うと、パスの指定を行いますよね。

で、相対パスで実行したい場合に「カレントパスどこなの?」となります。

試した所、「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」

と指定する感じです。

参考

コチラを参考にしました。ありがとうございました!

qiita.com

qiita.com

www.atmarkit.co.jp

karaage.hatenadiary.jp

あとがき

VSCodeでPython実行時に、Anacondaで作った仮想環境を使用するための方法でした!

www.lisz-works.com

*1:Visual Studio Code

*2:F1またはCtrl+Shift+P