Anaconda集成VSCode与独立VSCode的差异及问题咨询
Anaconda集成VSCode与独立VSCode的Jupyter差异解析
1. Notebook跨版本读取失败问题
主要是两者的Jupyter存储配置、内核关联逻辑不同导致的:
- Anaconda集成版VSCode(A-VSCode)默认绑定自带的Jupyter服务,会把Notebook的检查点、会话元数据存在Anaconda的用户缓存目录,而非项目文件夹本地;
- 独立版VSCode(D-VSCode)若未安装Anaconda扩展、未配置关联Anaconda内核,会使用系统默认Jupyter,默认将检查点存在项目文件夹的
.ipynb_checkpoints中,自然读取不到A-VSCode存在别处的数据。
解决方式:
- 在D-VSCode中安装Anaconda扩展,打开Notebook时选择Anaconda提供的对应内核;
- 修改A-VSCode的Jupyter存储路径:打开设置搜索
jupyter.notebookFileRoot,设置为${workspaceFolder},这样Notebook数据会直接存在项目文件夹内,D-VSCode即可正常读取。
2. 终端自动激活base环境问题
A-VSCode启动时会自动加载Anaconda的初始化脚本,所以终端打开就会执行conda activate base,这是打包时的默认配置。需要注意的是,Notebook的专属环境是内核进程使用的环境,和终端的shell环境是相互独立的,因此即使Notebook指定了专属环境,终端仍会默认激活base。
解决方式:
- 取消A-VSCode自动激活base:打开设置搜索
terminal.integrated.profiles.windows,找到PowerShell的配置项,删除启动命令中的Anaconda初始化脚本;或者修改Anaconda的condarc配置文件,添加auto_activate_base: false; - 若需终端与Notebook使用同一环境,查看Notebook右上角的内核名称,在终端手动执行
conda activate [内核环境名]即可。
终端示例对比
A-VSCode默认终端:
PS E:\all_my_projects\project_A> E:/anaconda3/Scripts/activate PS E:\all_my_projects\project_A> conda activate base PS E:\all_my_projects\project_A>
D-VSCode默认终端:
PS E:\all_my_projects\project_A>
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

