在一个项目中,我注意到 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):
- 转到控制面板,然后转到高级系统设置
- 转到系统属性的高级选项卡,您应该看到“环境变量”按钮,单击该按钮
- 您应该能够在顶部框用户变量中找到一个名为“Path”的变量
- 双击该语句来编辑您的路径语句,以摆脱任何不必要的引号或双分号(无论是什么导致了您的错误)。
- 再次尝试“conda activate”之前,请确保关闭所有终端
答案2
我遇到了类似的问题,并通过检查 Windows PATH 变量解决了它。
用户变量 PATH 中的违规引文 在 Windows 10 中:
- 在 PowerShell 中,键入
$Env:Path
- 检查输出中是否存在意外的引号或其他奇怪的字符
- 从控制面板打开“编辑系统环境变量”(或使用 Windows 搜索搜索“environ”
- PATH 可能存在于顶部和底部部分 - 用户变量、系统变量
- 在我的例子中,我在用户变量中粘贴了一个引用的路径
- 删除引号或违规字符
- 再次打开 PowerShell(现在应该不会出现任何错误)
conda activate base
如果没有自动发生则运行(不应出现任何错误)
原因:在 Windows 10 上运行 CUDA 11.8 安装程序后,它通知我由于 PATH 变量的长度已达到上限,因此无法更新它。我手动编辑了 PATH,然后发现 Powershell 产生了与 conda 尝试激活 base 相关的错误。我肯定在用户变量 PATH 中粘贴了带引号的字符串。