我在 vscode 中名为 server 的文件夹中创建了一个虚拟环境,输入:
python -m venv env
我打开服务器文件夹,选择解释器Python 3.8.1 64-bit('env':venv)
然后我得到以下错误:
我找不到任何解决方案,我被困了几个小时。
看起来是要通过powershell脚本来激活环境。默认情况下,运行此类脚本是关闭的。另外,通常通过cmd和.bat脚本激活虚拟环境。您可以打开运行 powershell 脚本或通过 cmd 和
.bat
文件让 VS Code 激活环境。
我刚刚在我的 PC 上检查过,VS Code 根本不使用 Powershell。它使用 cmd 而不是 Powershell 激活环境。也许值得检查 VS Code 设置,将 cmd 设置为默认终端。主settings.json中可能有这样的选项(您可以通过
ctrl+shift+p
打开它并输入“打开设置(JSON)”):"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
.
为了更改 Powershell 执行策略,您可以将
"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]
添加到主 VS Code 设置中。
您也可以以管理员身份打开 Powershell 窗口并输入以下内容:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
然后回答
y
任何问题。
关于在 VS Code 中使用命令提示符而不是 Powershell 的更新:
在
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe"
中实施settings.json
时,会给出通知:
这是 已弃用,配置默认 shell 的新推荐方法是在
中创建终端配置文件,并在#terminal.integrated.profiles.windows#
中将其配置文件名称设置为默认值。目前,这将优先于新的配置文件设置,但将来会发生变化#terminal.integrated.defaultProfile.windows#
查看文档后我发现正确的替代方案是包含一行,如下所示。
"terminal.integrated.defaultProfile.windows": "Command Prompt"
或者,您也可以使用 GUI,如文档中所示。那里还显示了更多高级设置。
尝试在 vscode 中使用 Cmd 并运行此命令 env(你的虚拟环境名称)\Scripts ctivate
cmd:python -m venv2 env
powershell:env/Scripts/Activate.ps1