1
Help us understand the problem. What are the problem?

posted at

updated at

VSCodeのターミナルでAnacondaを使用可能なpowershellを起動する

VSCodeでPythonを書いている最中に,パッケージのインストールなどでターミナルを操作したくなることが多数あり,そのたびに統合ターミナルでcondaが使用できないことに不満がたまっていた.
調べるとSetting.jsonを編集することで使用できるとの事だったが,記載内容が自分の環境と微妙に一致しなかったためメモを公開しておく.

環境

Windows 10 Home
Visual Studio Code 1.58.2
Miniconda3 py39_4.9.2

Anacondaのコマンドを確認する

左下のWindowマークを押してAnaconda Powershell Promptを表示する.
ファイルの場所を開くを実行する.
image.png
ショートカットを選択し,右クリックからプロパティを表示すると以下のようにリンク先が確認できる.
image.png
著者環境ではリンク先は以下のように記載されていた.

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\sakir\miniconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\sakir\miniconda3' "

Settings.jsonを開く

[ファイル]>>[ユーザー設定]>>[設定]から設定画面を開く.
検索タブにterminal profiles windowsなどと入力して以下のように表示されるので,settings.jsonで編集をクリックする.
image.png
settings.jsonが開き,元の設定から新たに以下の記載が追加されている.
この箇所を変更することでPowerShellが立ち上がる際にAnacondaの初期化を行うことができる.

    "terminal.integrated.profiles.windows": {

        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "Git Bash": {
            "source": "Git Bash"
        }
    },

Settings.jsonを編集する

上で確認したAnacondaのリンク先をもとにして,PowerShellの箇所を以下の通りに変更する.

        "PowerShell": {
            "source": "PowerShell",
            "args": [
                "-ExecutionPolicy",
                "ByPass",
                "-NoExit",
                "-Command", 
                "C:\\Users\\sakir\\miniconda3\\shell\\condabin\\conda-hook.ps1",
            ],
            "icon": "terminal-powershell"
        },

注意点としては,&が不要になっていることと,最終行のconda activateを記載するとエラーが発生することなどである.
以上で新規ターミナルの起動時にcondaが使用できるようになっている.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?