vscodeの起動の仕方で環境変数($PATH)が変わる件@windows

問題:vscodeのターミナルでanaconda3を起動させようとすると読込先のパスがおかしくなる問題が起きた

 condaコマンドを実行するときに参照する場所へのパスが「タイポみたいなパス」になってしまった。

og3@3rdman MINGW64 ~
$ conda info
bash: C:\Users\og3naconda3\Scripts: No such file or directory

 当然、.bashrcや.bash_profileにこのような記述はない。conda intで生成されたパスが正しく書いてある。

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
if [ -f '/c/Users/og3/anaconda3/Scripts/conda.exe' ]; then
    eval "$('/c/Users/og3/anaconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
fi
# <<< conda initialize <<<

現象:git-bash単体とvscode経由のgit-bashで$PATHの内容が違う

 git-bash単体だと以下のように正しいパスになる。

@git-bash単体
og3@3rdman MINGW64 ~
$ echo $PATH
/c/Users/og3/anaconda3/condabin:/c/Users/og3/bin:/mingw64/bin:~略~ @vscode経由のgit-bash og3@3rdman MINGW64 ~
$ echo $PATH
C:\Users\og3naconda3;C:\Users\og3naconda3\Library\mingw-w6in;C:\Users\og3naconda3\Library\usin;C:\Users\og3naconda3\Librarin;C:\Users\og3naconda3\Scripts;C:\Users\og3nacondain;C:\Users\og3naconda3/c/Users/og3/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Users/og3/anaconda3

 vscode経由だとスラッシュがバックスラッシュになってるし、バックスラッシュ+aとかがエスケープされるとかあるのか?

\aは「ASCII Bell(制御文字)」として定義されています(コード 0x07)。

もし単なる\aという文字列として扱いたいなら、\\aのようにバックスラッシュをエスケープする必要があります。

print("\\a") # 出力:\a

 やっぱり「エスケープシーケンス」として解釈される模様。。困る。。

暫定解決:vscodeをwindowsのスタートメニューから起動したら$PATHの値が元に戻った

 ここから開く。とまともな$PATHを返してくれる。

 一方で、「タスクバー」にピン止めしてあるvscodeを開くと$PATHがバグる。。

 いちいち「新しいウィンドウ」から開くと、ディレクトリを開きなおしたりなど不便なので何とかしたい。。

コメント