24
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Windows】VS Code + Anaconda で Python の開発環境を用意する

Posted at

はじめに

【世界で 18 万人が受講】実践 Python データサイエンスの導入部分で、開発環境として Anaconda + Jupyter Notebookを推薦している。
しかし、慣れ親しんだ VSCode で開発を行いたいため、VSCode + Anaconda で開発環境を整えた。

古い記事だとAnaconda Navigator から VSCode アプリをインストールしているが、2021/01 時点の Anaconda では VSCode の Python Extension から Anaconda を指定できるため、必要なさそう。

尚、以下を参考にした。

環境

Windows: バージョン 10.0.18363 ビルド 18363
Anaconda: Anaconda3-2020.11
VSCode: Version 1.52.1

手順

1. Anacondaのインストール

2021/01 時点で Python3.8 を使用している。
image.png

2. Python Extensionのインストール

Ctrl + P > ext install Python

3. インタプリタの設定

  1. 適当なディレクトリを VSCode で開き、.pyのファイルを作成する
  2. Ctrl + Shift + P > Python: Select Interpreter > Python 3.X.X YY-bit(conda)
    image.png
  3. このようになれば OK
    • image.png

4. ターミナルで Python を実行する

  1. ファイルに以下のように入力

    import sys
    print(sys.version)
    
  2. Python を実行

    • まだターミナルを立ち上げてない場合
      • Ctrl + Shift + P > Python: Run Python File in Terminal
    • 既にターミナルを立ち上げている場合、上で設定したインタプリタで Python を実行するため、新しいターミナルを用意する
      • Ctrl + Shift + P > Terminal: Create New Integrated Terminal
      • Ctrl + Shift + P > Python: Run Python File in Terminal
  3. Terminal に 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]と表示される

※Windows 環境の場合、Anaconda はデフォルトで PATH を通さないため、conda activate baseが失敗する。そのため、以下の方法で conda コマンドが実行できるようにする。

5. デバッグ

参考: Python debug configurations in Visual Studio Code

launch.json の作成

Ctrl + Shift + P > Debug: Open launch.json > Python > Python File

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "internalConsole"
    }
  ]
}

Ctrl + Shift + P > Debug: Start Debugging でデバッグ可能になる。

6. conda 環境の追加

参考: Conda environments

conda createする際、 python=X.Xでインタプリタを指定すると、指定したインタプリタを VSCode で使えるようになる。

  1. conda createで任意の環境を作成する

    • 上述した通り、インタプリタを指定する必要がある。指定しない場合、作成したインタプリタがPython: Select Interpreterに出てこない(手動で activate は可能)
      conda create -n env-01 python=2.7
      
  2. Ctrl + Shift + P > Python: Select Interpreter > Python 2.7.X YY-bit(conda) を選択
    image.png

トラブルシューティング

ターミナルで conda コマンドが使えない

PS C:\workspace> conda activate base
conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、
または操作可能なプログラムの名前として認識されません。
名前が正しく記述されていることを確認し、パスが含まれている場合は
そのパスが正しいことを確認してから、再試行してください。
発生場所 :1 文字:1
+ conda activate base
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (conda:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

上記のエラー解消のため、Powershell で conda コマンドが使えるようにする

1. Anaconda の起動スクリプトを確認する

  1. Windows key > anaconda powershell を入力
    anaconda.PNG
  2. 右クリック > ファイルの場所を開く
  3. 右クリック > プロパティ
  4. リンク先をコピー
    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\user\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\user\anaconda3' "

2. VSCode のターミナルの起動時引数に、上記の引数を渡すようにする

  1. Ctrl + Shift + P -> Preferences: Open Settings(JSON) or Preferences: Open Workspace Settings(JSON)
  2. "terminal.integrated.shellArgs.windows"に上記の引数を配列で指定する
{
  "terminal.integrated.shellArgs.windows": [
    "-ExecutionPolicy",
    "ByPass",
    "-NoExit",
    "-Command",
    "& 'C:\\Users\\user\\anaconda3\\shell\\condabin\\conda-hook.ps1'; conda activate 'C:\\Users\\user\\anaconda3'"
  ]
}

参考: Working with Anaconda in Visual Studio Code

参考


24
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?