105

本质上,我似乎无法激活我创建的 virtualenv 环境。

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

scripts\activate

但我收到一条错误消息:

“无法加载,因为此系统上禁用了脚本的执行”。

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

4

19 回答 19

213

根据 Microsoft 技术支持,这可能是执行策略设置的问题。要修复它,您应该尝试Set-ExecutionPolicy Unrestricted -Scope Process在 PowerShell 窗口中执行(如 @wtsiamruk 的评论部分所述)。这将允许在当前 PowerShell 会话中运行 virtualenv。

还有另一种更不安全的方法,但由 MS 技术支持推荐。这种方法将被使用Set-ExecutionPolicy Unrestricted -Force(它确实释放了将您的系统搞砸的力量)。但是,在使用这种不安全的方式之前,请务必使用get-ExecutionPolicy. 然后,完成后,您可以使用Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force.

于 2013-09-10T08:15:30.573 回答
44

在 PowerShell 中使用

Scripts\activate.ps1

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

也只需键入即可停用它

deactivate

在命令提示符下。

于 2019-03-01T23:28:10.017 回答
24

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

在此处输入图像描述

Set-ExecutionPolicy Unrestricted -Force

创建虚拟环境:

pip install virtualenv
virtualenv foo
cd .\foo
.\Scripts\activate

在此处输入图像描述

于 2020-02-13T15:03:03.610 回答
9

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

在此处输入图像描述

于 2017-01-10T08:32:15.737 回答
7

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

set-executionpolicy remotesigned

然后按Y,然后按Enter

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

于 2020-08-20T12:25:47.787 回答
6

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

首轮

Scripts\cmd

然后运行

Scripts\activate.bat

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

Scripts\activate

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

于 2015-05-23T13:41:23.903 回答
2

请按照以下步骤操作。

步骤 1. 使用 Windows PowerShell 作为管理员。(非常重要)并 cd 进入项目文件夹。跑

virtual env

步骤 2. 如果您有activate.bat文件,请检查脚本文件夹

\env\Scripts\activate.bat # It has to be there.

第 3 步。如果不是,请在此处确保您有 Internet 连接并再次运行此程序

virtual env

步骤 4. 如果脚本文件夹中有activate.bat文件,请继续。

步骤 5. 在你的 shell 中运行它:

Set-ExecutionPolicy Unrestricted -Force

步骤 6. 要在 Windows 上激活 virtualenv,激活脚本位于 Scripts 文件夹中:

env\Scripts\activate.bat

步骤 7. 检查每行开头的 (env)。这表明您在虚拟环境中。

步骤 8. 要在您第二次返回项目时重新激活,请运行:

.\\env\Scripts\activate
于 2019-09-11T23:07:12.180 回答
1

要仅在 Windows PowerShell 中安装虚拟环境,但要激活,您需要以管理员身份运行 Windows PowerShell

  1. pip install virtualenv
  2. virtualenv %Name of virtual environment%

现在安装它以激活它。以管理员身份运行 PowerShell

  1. Set-ExecutionPolicy Unrestricted -Force
  2. .\env\Scripts\activate

停用环境

  1. .\env\Scripts\deactivate

如需更多帮助,请访问官方页面: https ://pypi.org/project/virtualenv/1.8.2/

于 2018-09-21T10:48:36.557 回答
1

如果您不想像我一样在 Windows 上更改计算机的执行策略,您可以使用 Windows 命令提示符而不是 Windows PowerShell,只需要运行

`Scripts\activate`

激活您的环境。

于 2018-11-11T17:06:16.553 回答
1

对于 Windows 10 64 位的我来说:

  • 以管理员身份打开cmd
  • powershell
  • 类型Set-ExecutionPolicy Unrestricted -Force

瞧,重新打开 Visual Studio Code 并启动 pythoninnngg。

于 2020-02-11T05:44:28.303 回答
0

在 Windows 中,您应该通过 cmd 中的以下命令激活虚拟环境

E:\your_environment\Scripts> activate.bat

如果环境已激活,则它会显示您的环境名称,并用括号括起来,如下所示:

(your_environment) E:\your_environment\Scripts>

我们还可以通过检查where.exe来确保它会按照层次结构顺序列出我们的活动 Python 环境

 (your_environment) E:\your_environment\Scripts>where.exe python

 E:\your_environment\Scripts\python.exe

 C:\Python27\python.exe

如果您需要停用,请执行以下操作:

(your_environment) E:\your_environment\Scripts>deactivate.bat

于 2018-01-15T22:01:58.460 回答
0

这对我有用:

您可以简单地打开一个普通(您不需要提升访问权限)cmd 或 PowerShell 会话(我使用 Visual Studio Code 中的嵌入式 PowerShell 终端)并从脚本文件所在的文件夹中键入以下内容,例如.venv\Scripts\Activate.ps1::

powershell.exe -executionpolicy unrestricted -command .\Activate.ps1 -Scope CurrentUser

然后您可以在此activate之后运行命令。

注意:这将只允许该特定脚本运行,并且只能由您的登录用户运行。

于 2018-08-06T14:29:54.763 回答
0

如果机器是 64 位,则以管理员身份打开 PowerShell 的x86实例并检查(设置)执行策略。

试试这个

Set-ExecutionPolicy Unrestricted

或者

Set-ExecutionPolicy Unrestricted -Force
于 2019-02-23T16:06:37.027 回答
0

根据此处找到的答案,我为此创建了一个带有屏幕截图的简短教程。

  • 蟒蛇 3.7
  • 视窗 10 64 位
  • 电源外壳

我希望它可以帮助:如何在 Windows 10 上设置 Python 3 虚拟环境

于 2020-02-15T21:36:29.517 回答
0

删除您创建的该 venv 的目录。并使用以下命令创建一个新的:

python -m venv myvenv

然后看看激活命令是否有效。

于 2020-03-04T03:51:28.580 回答
0
C:\path> Set-ExecutionPolicy - Scope CurrentUser

cmdlet Set-ExecutionPolicy at command pipeline position 1 为以下参数提供值: ExecutionPolicy: Unrestricted

C:\path> Scripts\activate.ps1

(新环境)

C:\path> deactivate

C:\path> 

行得通

于 2020-04-15T06:43:50.480 回答
0

在 Windows PowerShell 中,ExecutionPolicy 默认设置为“restricted”。这不允许在 PowerShell 中运行脚本。

我们只能在 ExecutionPolicy 从 'Restricted' 设置为 'RemoteSensing' 时运行脚本您可以按照视频PowerShell 08 - 更改执行策略以便您可以运行脚本来执行此操作!

完成上述步骤后,您可以直接输入“Scrits/activate”(在您要激活的虚拟环境的目录下)激活您要激活的虚拟环境!

例子

于 2020-07-25T19:24:12.913 回答
0

如果您pipenv在创建虚拟环境时使用过,则应pipenv shell在执行 Visual Studio Code 终端中的任何命令之前运行。

于 2020-08-11T07:35:13.007 回答
0

以下步骤正在工作 -

  1. 在环境变量中设置 python 路径,如 C:\Program Files\Python310\Scripts\
  2. 以管理员模式打开 PowerShell,并执行以下命令 -
    Set-ExecutionPolicy Unrestricted -Force
  3. 关闭 PowerShell 并在管理员模式下 repoen
  4. 执行以下命令 -
    venv\scripts\activate
于 2022-01-24T10:08:57.747 回答