システムでAnacondaを動作させ、VsCodeを動作させていますが、pythonスクリプトを実行するときにVsCodeを取得して特定の環境をアクティブにするにはどうすればよいですか?
AnacondaがデフォルトのPythonインストールである場合、 Microsoft Python拡張機能 をインストールするだけで機能します。
以下は、Pythonエディターに関係なく、または特定のインストールを指す必要がある場合に機能します。
Settings.jsonで、python.pathを次のように編集します
"python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe"
指示 settings.jsonを編集します
私が見つけた最良のオプションは、 vscode settings のpython.venvPath
パラメーターをanaconda envsフォルダーに設定することです。
"python.venvPath": "/Users/[...]/Anaconda3/envs"
次に、コマンドパレット(windows/linuxではctl + shift + P
、macではcmd + shift + P
)を表示し、Python: Select Workspace Interpreter
と入力すると、すべてのenvが表示され、使用するenvを選択できます。
python extension もSelect Workspace Interpreterオプション用にインストールする必要があります。
注:Select Workspace Interpreterは、VSCodeの現在のバージョンを使用してコンピューターで起動するのに約10秒かかります。
残念ながら、これはmacOSでは機能しません。 .zshrcにexport CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev'
があり、VSCodeの設定に"python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python",
があるにもかかわらず、その変数が設定されているコマンドラインからVSCodeを起動した場合でも、組み込み端末はその環境のPythonを使用しません。
プロジェクトに独立した環境が必要な場合:--prefixオプションを使用して、プロジェクトフォルダーに環境をインストールします。
conda create --prefix C:\your\workspace\root\awesomeEnv\ python=3
VSCode launch.json設定で、「pythonPath」を次のように設定します。
"pythonPath":"${workspaceRoot}/awesomeEnv/python.exe"
VSCode settings.jsonでpython.pythonPathを設定しようとしましたが、うまくいきません。
Anacondaのドキュメント「 Microsoft Visual Studio Code(VS Code) 」によると、
When you launch VS Code from Navigator, VS Code is configured to use the Python interpreter in the currently selected environment.
。
上記の指示に従って、特定のAnaconda環境で正しく作業できます。
元のpythonファイルの環境変数を置き換えるハッキングソリューションが見つかりました。代わりにanacondaフォルダーのpython.exeから呼び出すことができるため、pythonを参照すると参照されますアナコンダのパイソン。
したがって、env varの唯一のpythonパスは
"C:\Anaconda3\envs\py34\", or where ever the python exe lives
詳細が必要な場合は、説明しなくても構いません。 :)
ここでメモを見つけてください: https://code.visualstudio.com/docs/python/environments#_conda-environments
前述のように、Pythonインタープリターが環境に含まれている場合、Python拡張機能は既存のconda環境を自動的に検出します。たとえば、次のコマンドは、Python 3.4インタープリターといくつかのライブラリを使用してconda環境を作成し、VS Codeは利用可能なインタープリターのリストに表示されます。
conda create -n env-01 python=3.4 scipy=0.15.0 astroid babel
対照的に、conda create --name env-00のようにインタープリターの指定に失敗した場合、環境はリストに表示されません。