93996


Windows + vscode + anaconda で Python の環境を作っています。  
インタプリターを anaconda で作った環境に切り替えたいのですが、Select Interpreter に表示されている anaconda
の環境をクリックしても、一見切り替わったかのように見えるのですが以下の動画のように実際は切り替わっていません。  
これを切り替えたいのですが何かアドバイスいただけないでしょうか。

[![画像の説明をここに入力](https://i.stack.imgur.com/ovIRP.gif)](https://i.stack.imgur.com/ovIRP.gif)

Anaconda Navigator から vscode を起動すれば該当の環境を使えるのですが、Anaconda Navigator
は起動が遅すぎるので、vscode から直接起動したいと考えています。  
vscode python anaconda で検索したページを調べているのですが、インタープリターが選択肢に表示されない、という問題は見つかる（大抵は
anaconda へのパスが通ってないことが原因）ものの、「選択肢は表示されるが選んでも何も起きない」という問題は見つけることができませんでした。

**追記**

いただいたコメントでログが見られることがわかったので、調べてみました。切り替えられない時は反応がないことがわかりました。

[code]

    Experiment 'pythonSurveyNotification' is active
    LSP Notebooks experiment is enabled
    LSP Notebooks interactive window support is enabled
    > E:\ProgramData\Anaconda3\Scripts\conda.exe info --json
    // ↓ Visual Studio のインタプリターが選ばれてしまう
    Python interpreter path: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe
    > "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe" -I ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\get_output_via_markers.py ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\interpreterInfo.py
    > E:\ProgramData\anaconda3\python.exe -I ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\get_output_via_markers.py ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\interpreterInfo.py
    > E:\ProgramData\Anaconda3\envs\default\python.exe -I ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\get_output_via_markers.py ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\interpreterInfo.py
    Starting Pylance language server.
    // ここで止まる。この状態でインタプリターを変える操作をしても何も出力されない。
    // なお、この環境にはモジュールをインストールしていないためサーバーは起動しない
    
[/code]

反応がない様子は次の通りです。

[![画像の説明をここに入力](https://i.stack.imgur.com/uFJ6d.gif)](https://i.stack.imgur.com/uFJ6d.gif)

このまましばらく（10分程度）放っておくと切り替えられることがあります。その時は以下のログが追加で記録されました。

[code]

    Python interpreter path: E:\ProgramData\Anaconda3\envs\default\python.exe
    > E:\ProgramData\Anaconda3\Scripts\conda.exe run -n default --no-capture-output python ~\.vscode\extensions\ms-python.python-2023.2.0\pythonFiles\get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2023.2.0/pythonFiles/printEnvVariables.py
    
[/code]

その時の様子は以下の通りです。

[![画像の説明をここに入力](https://i.stack.imgur.com/p3cvK.gif)](https://i.stack.imgur.com/p3cvK.gif)

ただ、環境が切り替えられたように見えるのですが、TERMINAL を見てみると conda activate
が実行された様子がなく、仮想環境は切り替わっていません。この状態で vscode を再起動すると指定した環境が使えました。

ただし、この後も起動してからしばらくは環境を切り替えても反応がなく、しばらくするとインタプリターは切り替えられるが、仮想環境は切り替わらない状況は変わりません。


CC BY-SA 4.0
2023-02-21T22:09:14.520
93946
2023-02-25T06:21:56.870
2023-02-22T13:56:28.423
48297
48297
question
python vscode
vscode + python インタプリターを選択しても環境が切り替わらない


#### 動作の確認

各種のログ(のようなもの)は  
Display: Show Output panel (表示 -> 出力)  
(あるいはコマンド パレットから, "show output" などタイプすると現れます)

[User Interface](https://code.visualstudio.com/docs/getstarted/userinterface)
画面の Panel 内に表示されます

> Panels - You can display different panels below the editor region for
> **output** or debug information,

Panel内の右側のドロップダウンリストから Python を選択すると何らかのヒントが得られるかもしれません

* * *

#### Python インタープリターを選択

ドキュメントはこちら: <https://code.visualstudio.com/docs/python/python-
tutorial#_select-a-python-interpreter>

Python インタープリターを選択するには, その前に **対象のフォルダー** を選びます

(検証していないけど)  
「ワークスペースレベルで選択」だと `python.defaultInterpreterPath` 関連のように思え  
デフォルトの Pythonインタプリターの設定では, 目的としている動きとは少々異なる模様

参考: <https://stackoverflow.com/questions/74110362/is-there-a-way-in-vscode-to-
automatically-switch-python-interpreter-depending-on>


CC BY-SA 4.0
2023-02-25T06:21:56.870
93996
2023-02-25T06:21:56.870
43025
93946
answer