[英]Python/Jupyter notebook in VSCode does not use the right environment
我在 Windows 10 上使用 Anaconda 3。
我有一個 Visual Studio Code 工作區 ( my_workspace
),而不是一個 Jupyter 筆記本 ( my_notebook.ipynb
)。 VSCode 安裝了 Python 擴展。
文件my_workspace/settings.json
包含:
{
"python.pythonPath": "C:\\Users\\Me\\Anaconda3\\envs\\my_env\\python.exe"
}
my_env
是現有的 Anaconda 環境。 我可以激活它並在 shell 中使用它,如果我在這樣的 shell 中運行jupyter lab
,則筆記本中的代碼可以按預期導入my_env
的包。
如果我在my_notebook.ipynb
中打開my_workspace
,然后在選項卡中打開 my_notebook.ipynb,在my_env
的狀態欄中也會提到 my_env(“Python 3.7.6 64-bit ('my_env': conda)”),並且打開時會自動激活my_env
VSCode 控制台中的 PowerShell 提示符(我運行了一次 conda conda init
)。
當筆記本在 VSCode 中打開時,Jupyter kernel 似乎使用base
環境的 Python 解釋器而不是my_env
中的解釋器。 導入安裝在my_env
中但未安裝在base
中的 package 時,出現此錯誤:
>>> import keras
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'keras'
這發生在所有包上,而不僅僅是keras
。
在 VSCode 的筆記本選項卡中,如果我單擊右上角的解釋器名稱,然后選擇正確的解釋器( my_env
中的解釋器),則筆記本在my_env
中正確運行。 但是每次我重新打開 VSCode 時都必須這樣做。
如何使默認 kernel 尊重 settings.json 中選擇的settings.json
?
我認為現在沒有參數來控制settings.json
。 我在啟動筆記本的環境中遇到了類似的問題,我能夠通過修改 IPython 筆記本中的kernelspec
部分來解決這個問題。
基本上,將筆記本作為 JSON 文件打開並刪除kernelspec
部分。 當筆記本從 vscode 啟動時,該部分將填充工作區的默認 python 環境內核。 在我的情況下,充滿了 pipenv 環境。
就我而言,在創建新環境后,必須多次重新啟動 VS 代碼,然后才能找到新的環境。 看起來 VS Code 必須花一些時間才能在系統中找到新的 Env。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.