Elz*_*lzo 17 python ipython anaconda windows-10 visual-studio-code
我在 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"
}
Run Code Online (Sandbox Code Playgroud)
my_env是现有的 Anaconda 环境。我可以激活它并在 shell 中使用它,如果我jupyter lab在这样的 shell 中运行,笔记本中的代码可以my_env按预期导入的包。
如果我my_workspace在 VSCode 中打开,那么my_notebook.ipynb在选项卡my_env中,VSCode 的状态栏中也会提到(“Python 3.7.6 64-bit ('my_env': conda)”),并且my_env在我在 VSCode 的控制台中打开 PowerShell 提示符时自动激活(我跑过conda init一次)。
当笔记本在 VSCode 中打开时,Jupyter 内核似乎使用base环境的 Python 解释器而不是my_env. 导入安装在my_env中但未安装在 中的包时,出现base此错误:
>>> import keras
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'keras'
Run Code Online (Sandbox Code Playgroud)
这适用于所有软件包,而不仅仅是keras.
在 VSCode 的 notebook 选项卡中,如果我单击右上角的解释器名称,然后选择正确的解释器(在 中的那个my_env),则 notebook 在my_env. 但是每次重新打开VSCode时我都必须这样做。
如何使默认内核尊重中选择的环境settings.json?
pab*_*sjv 17
我认为现在没有参数来控制settings.json. 我在启动笔记本的环境中遇到了类似的问题,我能够通过修改kernelspecIPython 笔记本中的部分来解决这个问题。
基本上,将笔记本作为 JSON 文件打开并删除该kernelspec部分。当笔记本从 vscode 启动时,该部分将填充工作区的默认 python 环境内核。在我的情况下,充满了 pipenv 环境。
| 归档时间: |
|
| 查看次数: |
11037 次 |
| 最近记录: |