VSCode 不会在 .ipynb 中导入 xgboost

VSCode won't import xgboost in .ipynb

我正在使用 miniconda,创建了一个环境,激活了 env,使用 conda install 安装了几个包,并使用 pip install xgboost 安装了 xgboost 一切都很好,直到尝试 运行 import xgboost 来自 VSCode,其中 returns ModuleNotFoundError: No module named 'xgboost'。检查 conda list 后,没有找到 xgboost(我想这很好,因为我使用了 pip install),再次尝试 pip install xgboost,returns Requirement already satisfied: xgboost in C:\progs\miniconda3\envs\my_env\lib\site-packages (0.90)

奇怪的是 jupyter notebook 成功导入了 xgboost,但 VSCode 没有。所以这个问题似乎与 VSCode 有关。

尝试重新启动 VSCode、更改活动环境等,但没有任何效果,直到我在 VSCode 中偶然发现了这个 print(sys.base_prefix)、运行 并且它返回了一个不同的环境文件夹 C:\Progs\Miniconda3\envs\test.

我不知道从这里到哪里去。到目前为止,这已被证明是一个很难找到解决方案的问题。关于如何使 VSCode 指向正确的环境的任何想法,即使它显示在右下角选择了正确的环境?

原因是在VS Code中,Jupyter使用的python内核是一个可以独立于VS Code使用的python环境,而python内部终端是在新的 VS Code 终端左下角选择的 python 解释器。因此,在更改左下角的选择器时,我们需要打开一个新的VS Code终端,它会自动进入选择的环境。

解决方法:请关闭当前VS Code终端,点击“Terminal”、“New Terminal”(或使用快捷键Ctrl+Shift+ `) 打开一个新的 VS 代码终端。

请确保您使用的conda环境是激活的,安装的模块会存放在这个python环境中。