VScode中Anaconda虚拟环境切换的问题
问题描述
第一次在VScode中使用Anaconda的虚拟环境,发现不同的虚拟环境之间的切换还是蛮容易的(点左下角的Python…按钮,可以自由选择环境)。但是不管是命令行(Terminal),还是直接点击绿色按钮运行代码,都无法正常运行,显示
ImportError: DLL load failed: 找不到指定的模块。
即找不到我自己安装的第三方库。但是我直接使用cmd则可以正常运行程序,pycharm也可以。
问题解决
发现我的VScode命令行没有激活conda的虚拟环境。即使使用了conda activate也不行。搜索发现,我当前处在powershell的命令行模式中,而不是命令行cmd模式。
需要通过在预设setting.json文件中添加下面的语句,可以使powershell模式变为cmd模式,其实就是加了一个指向系统cmd的指令。
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
语句添加方法——setting.json如何打开?
1、系统的setting.json:点击左下角的齿轮按钮,或 File-Preferences-Settings。
点击下图中右上角的翻转按钮(Open Settings(JSON))。
打开setting.json后,加入上面那句代码,保存,重开VScode即可。
2、【错误方法】当前文件夹(当前项目)的settings:当你在VScode中打开一个文件夹时,会自动创建一个settings.json和一个launch.json文件,点击打开即可
之后添加上述语句:
分析:仅对当前项目中的setting设置终端cmd路径,实验发现不能成功运行(会出现**“此时不应有&”**的现象)
暂时没想到是什么原因导致&的出现,也没有找到去除的办法。
生效方法
注意上述修改需要重开软件生效:
点击Allow即可,然后运行程序,可以看到下面的效果,最左端不再是PS(Powershell)了。
Jupyeter中虚拟环境切换
VScode中Jupter的环境切换方法如下:通过按右上角的按钮来选择环境。
参考文章VSCode无法在终端使用conda activate
命令来更换python环境解决方法
VScode随笔
VScode中文件夹(Folder)和工作区(Workspace)的区别:
- 文件夹:对应单个项目。在一个项目上工作,使用文件夹,就够了。针对该项目设置完VS Code后,VS Code会自动在项目文件夹的根目录中创建一个.vscode文件夹存储VS Code配置(settings.json文件)
- 工作空间:包含文件夹及工作空间(workspace)具体指后缀为*.code-workspace的文件,它是一个JSON with Comments格式的文件,里面包含了所有与该工作空间相关联的文件夹,以及相关的VS Code配置信息。有且仅有需要同时在多个项目上工作的时候,才需要创建工作区,这时候,工作区里面有多个项目文件夹的根目录(root),即:Multi-root Workspaces
参考文章