virtualenv不会在Windows上激活

SSc*_*ode 25 python virtualenv

基本上我似乎无法激活我创建的virtualenv环境.

我通过使用在Windows PowerShell中执行此操作

scripts\activate
Run Code Online (Sandbox Code Playgroud)

但得到一条错误信息

"无法加载,因为在此系统上禁用了脚本的执行".

这可能是因为我的计算机上没有管理员权限吗?

Kam*_*olo 56

将评论移至答案部分:)

根据Microsoft技术支持,执行策略设置可能存在问题.要修复它,您应该尝试Set-ExecutionPolicy Unrestricted -Force在Power Shell中执行.

注意:请记得以管理员身份启动Power Shell.

  • (对于新读者)还要确保使用Scripts\Activate.PS1 (8认同)
  • 最安全的方法可能是运行“Set-ExecutionPolicy Unrestricted -Scope Process”,这将允许您在当前的 powershell 会话中运行 virtualenv (5认同)
  • 或Set-ExecutionPolicy Unrestricted -Scope CurrentUser可以使用非管理性PowerShell。 (2认同)
  • 如果“Set-ExecutionPolicy Unrestricted -Scope Process”适合您,我认为您还应该在激活环境后运行“Set-ExecutionPolicy Default -Scope Process”以更改执行策略以避免任何潜在问题 (2认同)

小智 37

在 PowerShell 中使用

Scripts\activate.ps1
Run Code Online (Sandbox Code Playgroud)

而不是activate.bat不再在 PowerShell 中工作。

也只需键入即可停用它

deactivate
Run Code Online (Sandbox Code Playgroud)

在命令提示符下。

  • 得到同样的错误。无法加载 Scripts\Activate.ps1,因为在此系统上禁用运行脚本。 (5认同)
  • 当您没有任何管理员权限时,这是最好的方法。救生员。谢谢马特 (2认同)

nhu*_*uvy 15

在 Windows 上,以管理员身份打开 Windows PowerShell

在此处输入图片说明

Set-ExecutionPolicy Unrestricted -Force
Run Code Online (Sandbox Code Playgroud)

创建虚拟环境:

pip install virtualenv
virtualenv foo
cd .\foo
.\Scripts\activate
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


小智 8

设置流程范围的执行策略。在 Yes [y] 之后,输入脚本/激活:

在此处输入图片说明


小智 6

以管理员身份打开另一个 PowerShell 窗口,然后键入:

set-executionpolicy remotesigned

然后按YEnter

现在关闭这个 PowerShell 窗口并返回到您正在使用的 shell。这将解决问题。


小智 6

以下步骤有效:

  1. C:\Program Files\Python310\Scripts\像环境变量中一样设置python路径
  2. 在管理员模式下打开PowerShell,然后执行以下命令:
    Set-ExecutionPolicy Unrestricted -Force
  3. 关闭 PowerShell 并在管理模式下重新启动
  4. 执行以下命令:
    venv\scripts\activate


ni8*_*8mr 5

我在这里找到的另一个快速解决方案(它仅适用于 Windows PowerShell)是这样的:

第一次运行

Scripts\cmd
Run Code Online (Sandbox Code Playgroud)

然后运行

Scripts\activate.bat
Run Code Online (Sandbox Code Playgroud)

在这个位置,你的Virtualenv被激活。现在,如果您停用它并希望稍后在 PowerShell 的同一会话中再次激活它,您只需要运行:

Scripts\activate
Run Code Online (Sandbox Code Playgroud)

以后就不需要再使用cmdactivate.bat命令了。

  • 对我来说没有`Scripts\cmd`。 (11认同)