如何在VS Code终端访问Python虚拟环境?workon命令失效问题解决
解决VS Code终端中
workon命令无效的问题 我之前也碰到过一模一样的情况——CMD里workon用得好好的,到VS Code终端就失效了,多半是终端环境配置或者类型不匹配的锅,试试下面这几个办法:
1. 切换VS Code终端到CMD
VS Code默认可能用PowerShell当终端,而virtualenvwrapper的workon命令是基于CMD的脚本实现的。你可以:
- 打开VS Code的终端面板,点击右上角的下拉箭头(显示当前终端类型的地方)
- 选择「Command Prompt」切换到CMD终端
- 再输入
workon env_name试试,应该就能正常激活虚拟环境了
2. 让VS Code终端自动加载virtualenvwrapper脚本
如果习惯用默认终端(比如PowerShell),可以配置VS Code启动终端时自动初始化virtualenvwrapper:
- 先找到你的virtualenvwrapper脚本路径,Windows下一般是在Python的Scripts目录里,比如
C:\PythonXX\Scripts\virtualenvwrapper.bat - 打开VS Code的设置(快捷键
Ctrl+,),搜索「terminal.integrated.profiles.windows」 - 点击「编辑 in settings.json」,添加或修改CMD的配置:
"terminal.integrated.profiles.windows": { "Command Prompt": { "path": ["C:\\Windows\\System32\\cmd.exe"], "args": ["/k", "C:\\PythonXX\\Scripts\\virtualenvwrapper.bat"] } }, "terminal.integrated.defaultProfile.windows": "Command Prompt"
把上面的路径换成你实际的virtualenvwrapper.bat路径,/k参数会让CMD执行脚本后保持终端会话。
3. 直接激活虚拟环境脚本
如果上面的方法都不行,还可以跳过workon,直接用虚拟环境自带的激活脚本:
- 对于CMD终端:在VS Code终端里输入
.\env_name\Scripts\activate.bat(把env_name换成你的虚拟环境名称) - 对于PowerShell终端:输入
.\env_name\Scripts\Activate.ps1注意:如果PowerShell提示禁止运行脚本,需要先以管理员身份打开PowerShell,执行
Set-ExecutionPolicy RemoteSigned并选择Y确认
4. 检查系统环境变量
确认virtualenvwrapper的Scripts路径已经加到系统PATH里:
- 在CMD里运行
where workon,找到workon.bat的路径 - 打开系统环境变量设置,检查这个路径是否在「系统变量」的PATH里
- 如果没加,添加后重启VS Code(环境变量变更需要重启应用才能生效)
内容的提问来源于stack exchange,提问作者Anuj Kapasia
相关产品推荐
相关产品推荐

