Conda 激活 Invoke-Expression 错误

Conda 激活 Invoke-Expression 错误

在一个项目中,我注意到 conda 没有在我的 PowerShell 中激活,每当我尝试运行

conda activate base

命令我收到以下一组错误;

Invoke-Expression : At line:1 char:295
+ ... conda3\condabin;C:\Python310\Scripts;C:\Python310;"C:\Program Files\n ...
+                                                        ~~~~~~~~~~
Unexpected token 'C:\Program' in expression or statement.
At C:\ProgramData\Anaconda3\shell\condabin\Conda.psm1:101 char:9
+         Invoke-Expression -Command $activateCommand;
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : UnexpectedToken,Microsoft.PowerShell.Commands.InvokeExpressionCommand

先前邮政有一个非常相似的问题,其中一条评论通知我检查 C:\Program files 上的双引号...

我不明白这发生在哪个文件中,浏览意外令牌错误下告知的 .psm1 文件没有显示上述任何路径。

答案1

我发现,尽管有错误消息,但它与 Conda.psm1 无关,而是与我们的路径变量的格式有关。

对我有用的方法(Windows):

  1. 转到控制面板,然后转到高级系统设置
  2. 转到系统属性的高级选项卡,您应该看到“环境变量”按钮,单击该按钮
  3. 您应该能够在顶部框用户变量中找到一个名为“Path”的变量
  4. 双击该语句来编辑您的路径语句,以摆脱任何不必要的引号或双分号(无论是什么导致了您的错误)。
  5. 再次尝试“conda activate”之前,请确保关闭所有终端

答案2

我遇到了类似的问题,并通过检查 Windows PATH 变量解决了它。

用户变量 PATH 中的违规引文 在 Windows 10 中:

  1. 在 PowerShell 中,键入$Env:Path
  2. 检查输出中是否存在意外的引号或其他奇怪的字符
  3. 从控制面板打开“编辑系统环境变量”(或使用 Windows 搜索搜索“environ”
  4. PATH 可能存在于顶部和底部部分 - 用户变量、系统变量
  5. 在我的例子中,我在用户变量中粘贴了一个引用的路径
  6. 删除引号或违规字符
  7. 再次打开 PowerShell(现在应该不会出现任何错误)
  8. conda activate base如果没有自动发生则运行(不应出现任何错误)

原因:在 Windows 10 上运行 CUDA 11.8 安装程序后,它通知我由于 PATH 变量的长度已达到上限,因此无法更新它。我手动编辑了 PATH,然后发现 Powershell 产生了与 conda 尝试激活 base 相关的错误。我肯定在用户变量 PATH 中粘贴了带引号的字符串。

相关内容