【问题标题】:'virtualenv' won't activate on Windows'virtualenv' 不会在 Windows 上激活
【发布时间】:2013-09-13 19:39:06
【问题描述】:

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

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

scripts\activate

但我收到一条错误消息:

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

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

【问题讨论】:

  • 根据Microsoft Tech Support,将执行策略设置为无限制应该会有所帮助。怎么做:Set-ExecutionPolicy Unrestricted -Force
  • @Kamiccolo 太棒了!你搞定了。谢谢你的帮助。我在stackoverflow上的第一次体验很棒。谢谢!
  • 或者,如果您安装了 git bash(或 mingw),则可以在命令窗口 powershell/命令提示符中激活它
  • @Kamiccolo 这在运行 Python 3 的 Windows 7 上对我有用。谢谢!
  • @MonaJalal 使用 Python3 你应该使用内置的venv,它根本没有这个问题。

标签: python virtualenv


【解决方案1】:

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

还有另一种更不安全的方法,但由 MS 技术支持推荐。这种方法是使用Set-ExecutionPolicy Unrestricted -Force (它会释放力量来搞砸你的系统)。但是,在您使用这种不安全的方式之前,请务必使用get-ExecutionPolicy 检查您当前的 ExecutionPolicy 设置。然后,完成后,您可以使用 Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force 恢复到此 ExecutionPolicy。

【讨论】:

  • (对于新读者)还要确保你使用 Scripts\Activate.PS1
  • 这对我有用。想指出我在此链接上尝试了嵌入中的指示,但未成功:virtualenv.pypa.io/en/stable/userguide/#activate-script。我想知道它是错的还是某处有区别。
  • 或 Set-ExecutionPolicy Unrestricted -Scope CurrentUser 使用非管理 PowerShell。
  • 最安全的方法可能是运行“Set-ExecutionPolicy Unrestricted -Scope Process”,这将允许您在当前的PowerShell会话中运行virtualenv
  • 如果Set-ExecutionPolicy Unrestricted -Scope Process 适合您,我认为您也应该在激活环境后运行Set-ExecutionPolicy Default -Scope Process 以将执行策略改回以避免任何潜在问题
【解决方案2】:

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

第一次运行

Scripts\cmd

然后运行

Scripts\activate.bat

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

Scripts\activate

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

【讨论】:

  • 我没有Scripts\cmd
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    在 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

    【讨论】:

    • OP 明确提到 PowerShell,而不是 CMD。
    【解决方案5】:

    这对我有用:

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

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

    然后你就可以运行activate命令了。

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

    【讨论】:

      【解决方案6】:

      要仅在 Windows PowerShell 中安装虚拟环境,但要激活,您需要以 Administrator 身份运行 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/

      【讨论】:

        【解决方案7】:

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

        `Scripts\activate`
        

        激活您的环境。

        【讨论】:

        • 这并不能解决 OP 的问题,因为这就是 OP 最初尝试的...
        • @Joel Uhm,cmd和powershell是两个不同的环境。在 cmd 提示符中使用时,powershell 中受限的执行权限不会受到相同的限制。至少对于这个“脚本\激活”
        • 这对我有用。也可以直接从 Powershell 进入 cmd 环境,只需输入“cmd”即可。
        【解决方案8】:

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

        试试这个

        Set-ExecutionPolicy Unrestricted
        

        Set-ExecutionPolicy Unrestricted -Force
        

        【讨论】:

          【解决方案9】:

          在 PowerShell 中使用

          Scripts\activate.ps1
          

          而不是 activate.bat,后者在 PowerShell 中不再起作用。

          也可以通过键入来停用它

          deactivate
          

          在命令提示符下。

          【讨论】:

          • 当您没有任何管理员权限时,这是最好的方法。救生员。谢谢马特
          • 遇到了同样的错误。 Scripts\Activate.ps1 无法加载,因为在此系统上禁用了运行脚本。
          • 无需管理员权限即可工作。不过,这非常令人沮丧。
          【解决方案10】:

          严格按照这些步骤操作。

          步骤 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
          

          【讨论】:

            【解决方案11】:

            对于 Windows 10 64 位的我来说:

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

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

            【讨论】:

              【解决方案12】:

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

              Set-ExecutionPolicy Unrestricted -Force
              

              创建虚拟环境:

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

              【讨论】:

                【解决方案13】:

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

                • Python 3.7
                • Windows 10 64 位
                • PowerShell

                希望对你有帮助:How to setup Python 3 virtual environment on Windows 10

                【讨论】:

                  【解决方案14】:

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

                  python -m venv myvenv
                  

                  然后看看activate命令是否有效。

                  【讨论】:

                    【解决方案15】:
                    C:\path> Set-ExecutionPolicy - Scope CurrentUser
                    

                    cmdlet Set-ExecutionPolicy 在命令管道位置 1 为以下参数提供值: ExecutionPolicy:无限制

                    C:\path> Scripts\activate.ps1
                    

                    (新环境)

                    C:\path> deactivate
                    
                    C:\path> 
                    

                    工作

                    【讨论】:

                      【解决方案16】:

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

                      只有当 ExecutionPolicy 从“Restricted”设置为“RemoteSensing”时,我们才能运行脚本 你可以关注视频PowerShell 08 - Changing the execution policy so you can run scripts来做到这一点!

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

                      Example

                      【讨论】:

                        【解决方案17】:

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

                        【讨论】:

                          【解决方案18】:

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

                          set-executionpolicy remotesigned

                          然后按Y,然后按Enter

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

                          【讨论】:

                            【解决方案19】:

                            以下步骤有效 -

                            1. 在环境变量中设置 python 路径,如 C:\Program Files\Python310\Scripts\
                            2. 在管理员模式下打开 PowerShell,然后执行以下命令 -
                              Set-ExecutionPolicy Unrestricted -Force
                            3. 关闭 PowerShell 并在管理员模式下 repoen
                            4. 执行以下命令 -
                              venv\脚本\激活

                            【讨论】:

                              猜你喜欢
                              • 2013-08-30
                              • 1970-01-01
                              • 1970-01-01
                              • 2022-09-28
                              • 1970-01-01
                              • 2019-01-13
                              • 2020-01-15
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多