[英]Visual Studio Code terminal doesn't activate Conda environment
我閱讀了這篇關於類似問題的 Stack Overflow 帖子,但那里的建議似乎沒有用。 我在我的 Windows 機器上安裝了 Visual Studio Code,並添加了 Python 擴展。 然后我將項目的 Python 路徑更改為C:\Users\username\.conda\envs\tom\python.exe
。 .vscode/settings.json
中有這個:
{
"python.pythonPath": "C:\\Users\\username\\.conda\\envs\\tom\\python.exe"
}
Visual Studio Code 中的狀態欄還顯示:
但是,當我在終端中執行 conda conda activate tom
之后執行conda env list
時,我得到了 output:
# conda environments:
#
base * C:\ProgramData\Anaconda3
tom C:\Users\username\.conda\envs\tom
代替:
# conda environments:
#
base C:\ProgramData\Anaconda3
tom * C:\Users\username\.conda\envs\tom
當我嘗試python app.py
時,也不會導入未安裝在 base 中的包。 我應該怎么辦?
where python
運行的地方,但它不提供任何 output。
還,
import os
import sys
os.path.dirname(sys.executable)
給
'C:\\Python38'
首先,打開 Anaconda 提示符( How to access Anaconda command prompt in Windows 10 (64-bit) ),然后輸入:
conda activate tom
激活您的虛擬環境。
然后要在此活動環境中打開 Visual Studio Code,請鍵入
code
它應該工作。
conda init
。這似乎是因為 Anaconda 安裝建議不要將 windows PATH 更改為引用 anaconda,因為它可能與其他安裝發生沖突,修改我的 PATH 時我沒有問題。 似乎 vs 代碼(或者很可能是 Python 擴展)本身仍然沒有正確激活 anaconda。
它在 vscode 中對我有用
在vs代碼中激活anaconda虛擬環境
conda init
conda info --envs
conda activate name_of_venv
很長一段時間我都面臨同樣的問題,但似乎沒有任何效果。 不知何故,VS Code 在通知提示中建議了我以下內容:
我們注意到您正在使用 conda 環境。 如果您在集成終端中遇到此環境問題,我們建議您讓 Python 擴展在您的用戶設置中將“terminal.integrated.inheritEnv”更改為 false。
我yes
了它並開始工作。 您也可以在 settings.json 中手動設置,如下所示:
Shift + Command + P
打開命令面板。"terminal.integrated.inheritEnv": false
如果conda init
失敗,可能不僅僅是搜索路徑中缺少 conda 的問題。 在我的情況下,這是因為 PowerShell 沒有加載profile.ps1
的權限,請參閱The term 'conda' is not Recognized as the name of a cmdlet 。
在這種情況下,如果您尚未這樣做,請將PowerShell 7
與PowerShell 5
並行安裝並填充C:\Users\USER\Documents\PowerShell\profile.ps1
#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
(& "C:\Users\USER\anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
#endregion
然后將新的 PowerShell 7 終端添加到 vscode,請參閱如何將 anaconda powershell 添加到 vscode? .
終端菜單:
每次打開PowerShell 7
時,您在 vscode 的狀態欄中看到的 conda conda init
和所選 Python 解釋器環境的激活都會自動運行。
我也遇到過類似的問題:在vscode終端可以激活虛擬環境,但是python版本沒有切換。 解決辦法是在vscode中對select“bash”,一切正常。
默認的PythonPath
插件現在不再使用 PythonPath(截至 2021 年)。 相反,您可以使用以下命令添加解釋器路徑:
conda activate <name of your env> && which python
{
"python.defaultInterpreterPath": "<Path to your env>",
}
(所有這些都假設您的 vscode 中沒有其他混亂的設置。如果有,請查看此問題的其他答案)。
我已經嘗試了大多數解決方案來解決問題。 然而,那些沒有奏效。 按照上面“Sabito錆兎”所說的步驟。 最后,我解決了。
解決方案1:
terminal: select default profile
更改默認終端的另一種方法是(以防您忘記命令):
解決方案2:
Python: Select Interpreter
"python.terminal.activateEnvironment": true,
或者不存在,只要使參數為 true。現在,vscode 可以根據您的選擇自動更改終端中的環境,如下所示。
CMD::::::::
當我選擇base:conda時,我打開一個新終端。在控制台中,它顯示
F:\GitHub\t>E:/Anaconda/Install/Scripts/activate
(base) F:\GitHub\t>conda activate base
(基礎)F:\GitHub\t>
當我選擇python3.8:conda時。 表明
F:\GitHub\t>E:/Anaconda/Install/Scripts/activate
(base) F:\GitHub\t>conda activate python3.8
(python3.8) F:\GitHub\t>
PowerShell:::::::
當我選擇python3.8:conda時。 表明
(base) PS F:\GitHub\t> conda activate python3.8
(python3.8) PS F:\GitHub\t>
當我選擇base:conda時,它顯示
(base) PS F:\GitHub\t> conda activate base
(基礎)PS F:\GitHub\t>
順便說一句,輸入這個小 window 太難了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.