VSCODE中的conda环境设置

目录

1、VSCODE的jupyter插件以existing模式连接jupyter服务:

2、命令行终端设置:


此文假设你:

已在WIN10上安装conda、在主环境安装jupyter;

已创建虚拟环境;

已完成虚拟环境内核与主环境jupyter之间的连接配置;

已安装好VSCODE及其python、jupyter插件。

如没完成,请先进行以上准备。

下面开始正题:

1、VSCODE的jupyter插件以existing模式连接jupyter服务:

为什么要连接已有的jupyter服务,而不是直接在VSCODE的jupyter插件打开一个local jupyter服务呢?我也想,可是好像jupyter插件的kernel切换操作不能真正帮我切换过去,而是还停留在上一个环境中。比如下图,jupyter插件原本处于conda主环境下,python是3.8,但我点击右上角切换到装了python3.7的conda虚拟环境,再运行cell中的语句,输出的python路径和版本仍然属于python3.8的conda主环境。

所以,我干脆不用local模式,取而代之的是先启动VSCODE外的jupyter服务,再根据得到的服务地址,粘贴到vscode的jupyter插件进行remote模式的连接:

从外部启动notebook后,复制notebook server地址,回到jupyter插件,按Ctrl+Shift+P打开命令面板并输入命令:

Jupyter: Specify local or remote Jupyter server for connections

弹出如何连接jupyter的菜单,如下图。连接方式选existing,然后粘贴并按回车就行。

这里似乎还有一个小bug,粘贴notebook server地址并按enter后,菜单并没有消失,需要按esc才行。

然后按Ctrl+Shift+P打开命令面板并输入命令:

Jupyter: Select a Kernel

如下图,可以看到sever上已经建立的kernel,及其属于哪个conda环境。另外还显示有哪些conda环境可以进行新建kernel操作。

在这里可以选择连接到server上已经建立的kernel,也可以server上另外建立并连接新的kernel。

最后,在user的setting.josn加入以下内容:

    "jupyter.sendSelectionToInteractiveWindow": true,  //VSCODE的python编辑器中选定的的语句,按shift+enter后可传送到jupyter插件中执行,如果不需要这个功能,也可以注释掉

2、命令行终端设置:

其实,关于VSCODE上的conda设置, 官网https://code.visualstudio.com/docs/python/environments#_conda-environments

提供了一些注意事项,并提供了VSCODE在conda虚拟环境中运行的方式,先打开anaconda提示符,激活环境,然后输入code .启动VSCODE。

但这里我们不用上面的方式,而是用下面的:

思路是,受anaconda启动快捷方式里的参数启发,将vscode的python命令行终端改成cmd,并在启动时激活conda环境。

具体操作是,在user的setting.json添加以下语句(参考资料1,2):

    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", //选用cmd作为命令行窗口
    "terminal.integrated.shellArgs.windows": [
        "/k",
        "D:\\anaconda3\\Scripts\\activate.bat D:\\anaconda3\\envs\\py3701" //此处修改为你conda虚拟环境文件夹位置
    ],
    "python.pythonPath": "d:\\anaconda3\envs\\py3701\python.exe",  //conda环境对应的解析器目录

设置参数参考:

1,https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration

2,https://blog.csdn.net/weixin_53927286/article/details/111601632

设置参数作用范围只限user,若要在workspace设置,要需要按Ctrl+Shift+P打开命令面板并输入命令(参考资料3,4):

Terminal: Manage Workspace Shell Permissions

3,https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration

4,https://github.com/microsoft/vscode/issues/104380

猜你喜欢

转载自blog.csdn.net/yocencyy/article/details/112504398
今日推荐