如何从powershell激活conda环境?

Z C*_*hen 12 powershell anaconda windows-10

版本 Anaconda 4.8.3

我不能做什么:
我无法从 powershell激活任何环境。 conda activate base

我可以做什么:
conda env list conda create -n xxx conda remove -n xxx

我尝试了很多解决方案,但结果证明它们毫无用处:

  1. conda init powershell
    restart powershell
    conda activate

  2. conda update -n base conda 并重做 1

  3. conda install -n root -c pscondaenvs pscondaenvs
    Set-ExecutionPolicy RemoteSigned
    activate base

运行的结果 conda activate

小智 84

从“开始”菜单打开Anaconda PowerShell 提示符。现在尝试:

conda init powershell
Run Code Online (Sandbox Code Playgroud)

现在重新启动 PowerShell。如果您在 PowerShell 中发现类似这样的错误:

无法加载 \WindowsPowerShell\profile.ps1,因为在此系统上禁用了运行脚本。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies。行:1 字符:3

然后改变执行策略。在 PowerShell 中键入以下代码:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Run Code Online (Sandbox Code Playgroud)

要了解有关执行策略的更多信息,您可以访问此链接

  • 没有管理员权限:`Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser` (30认同)

Moh*_*our 30

这是我更简单的解决方案,适用于 Anaconda、Miniconda甚至 Miniforge:

  1. 打开 PowerShell 并浏览到condabinConda 安装目录中的文件夹,例如:C:\Users\<username>\anaconda3\condabin
  2. 在该文件夹中运行./conda init powershell,然后重新打开 PowerShell。
  3. 请注意:如果您遇到ps1 cannot be loaded because running scripts is disabled on this system,只需以管理员身份运行 PowerShell 并输入以下内容:Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
  4. 重新启动 PowerShell 并享受吧!

  • 哇,在尝试了多种方法之后,这对我有用 (3认同)
  • 这是对这个问题最好也是最简单的答案。我的机器上安装了 miniconda3。它就像一个魅力。感谢分享 (3认同)

pra*_*ant 24

您不需要管理员权限。

在 Windows 上安装 Anaconda 或 Miniconda 后,Anaconda Powershell Prompt从开始菜单打开 a 。

或者,如果您在那里没有看到它,那么假设您已经在路径 C:\miniconda3\4.9.2 中安装了 miniconda3,请执行以下操作:

powershell -ExecutionPolicy ByPass -NoExit -Command "& 'C:\miniconda3\4.9.2\shell\condabin\conda-hook.ps1' ; conda activate 'C:\miniconda3\4.9.2' "
Run Code Online (Sandbox Code Playgroud)

现在尝试:

conda init powershell
Run Code Online (Sandbox Code Playgroud)

并重新打开powershell。

附加说明:默认情况下,当我们打开终端时,conda 会自动激活。如果您不喜欢,请禁用自动激活:

conda config --set auto_activate_base false
Run Code Online (Sandbox Code Playgroud)

  • 解决方案看起来很有希望,但实际上它并没有绕过限制,并且在重新启动后(通过 conda 完全修改文件)它仍然无法正常工作。重新启动时,无法加载相同的``\WindowsPowerShell\profile.ps1,因为在此系统上禁用了运行脚本。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies。在 line:1 char:3``` (引用自动创建的 ps 脚本) (3认同)
  • 在这种情况下,您只需[取消阻止名为“profile.ps1”的文件](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell -7.1#example-7--unblock-a-script-to-run-it-without-change-the-execution-policy): `Unblock-File -Path .\profile.ps1` (将相对路径替换为完整路径)请参阅 [Unblock-File cmdlet 文档](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/unblock-file) (3认同)

小智 10

当您使用 Anaconda 或 Miniconda 时,请输入 Anacondaprompt:

conda init powershell
Run Code Online (Sandbox Code Playgroud)


gil*_*des 5

为了在 PowerShell 中激活 Conda,我只需执行以下命令:

C:\Users\<username>\anaconda3\shell\condabin\conda-hook.ps1
Run Code Online (Sandbox Code Playgroud)

然后我就可以看到所有环境,而无需重新启动 PowerShell。

conda env list
conda activate base
Run Code Online (Sandbox Code Playgroud)

所以你基本上只需要运行conda-hook.ps1脚本。