【问题标题】:Virtualenv not activating in Windows 10 PowerShellVirtualenv 未在 Windows 10 PowerShell 中激活
【发布时间】:2019-01-13 12:53:20
【问题描述】:

在阅读《Learning Python the Hard Way》这本基础书时,我无法在 Windows 中激活 virtualenv。这是我得到的:

PS C:\Users\Owner> virtualenv --system-site-packages .venvs/lpthw

使用基本前缀 'c:\users\owner\appdata\local\programs\python\python36' 新 C:\Users\Owner.venvs\lpthw\Scripts\python.exe 中的 python 可执行文件 安装 setuptools、pip、wheel...完成。

PS C:\Users\Owner> ..venvs\lpthw\Scripts\activate

..venvs\lpthw\Scripts\activate :术语 '..venvs\lpthw\Scripts\activate' 未被识别为 cmdlet、函数、脚本文件或可运行的程序。检查拼写 的名称,或者如果包含路径,请验证该路径是 正确并重试。在行:1 字符:1 + ..venvs\lpthw\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (..venvs\lpthw\Scripts\activate:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

【问题讨论】:

  • virtualenv --system-site-packages ".\.venvs\lpthw\Scripts\activate" ?
  • 我试过了,得到:错误:文件已经存在并且不是目录。请提供其他路径或删除文件。
  • 那么试试virtualenv --system-site-packages ".\.venvs\lpthw"
  • @Paxz 我尝试了该代码并得到了 PermissionError: [Errno 13] Permission Denied。然后我运行 virtualenv --system-site-packages ".\.venvs\lpthw\activate" 并创建了一个新的基本前缀和可执行文件。然后我运行 .\.venvs\lpthw\scripts\activate (原版)并且它起作用了....我不知道为什么?你能解释一下以提高我的知识吗?

标签: python powershell


【解决方案1】:

您的虚拟环境路径不正确吗?我看到您在命令开始时使用

回到了用户目录
PS C:\Users\Owner> ..venvs\lpthw\Scripts\activate

但您似乎也在 Owner 目录中创建了虚拟环境。

试试:

PS C:\Users\Owner> venvs\lpthw\Scripts\activate

【讨论】:

  • 谢谢。我尝试了该代码并得到了同样的错误
【解决方案2】:

如错误所述,您在尝试激活 virtualenv(双点)时输入了错误的路径。 我不是 PowerShell 专家,因为我使用的是基于 UNIX 的系统,但是像 .\.venvs\lpthw\Scripts\activate 这样的东西应该适合你。

【讨论】:

  • 谢谢皮埃尔奥西诺姆。由于某种原因,当我发布到 Stack Overflow 时 \ 没有出现。错误来自您所说的路径。
【解决方案3】:

这很简单,因为命令“activate”是一个批处理文件,需要从命令提示符而不是 PowerShell 提示符运行。 PowerShell 执行与批处理文件执行不同。

在您的虚拟环境提供程序中搜索 Activate.ps1,然后编辑批处理文件以运行它,或者在您的 PowerShell 配置文件中创建一个函数来执行此操作。

【讨论】:

    【解决方案4】:

    我在尝试激活环境时也遇到了同样的错误。我用 vscode 终端创建了那个环境。但是当我重新打开 vscode 并再次运行激活命令时,我成功地激活了它。所以,我想有时它需要重新启动编辑器来激活新创建的环境。

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 2022-09-28
      • 2016-12-21
      • 2013-08-30
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      相关资源
      最近更新 更多