【问题标题】:Windows Subsystem for Linux - conda: command not found适用于 Linux 的 Windows 子系统 - conda:找不到命令
【发布时间】:2019-05-17 06:33:49
【问题描述】:

我使用的是 Windows 10,并且最近安装了适用于 Linux 的 Windows 子系统。 那时我的电脑上已经安装了 Anaconda。

当我尝试在 Windows 上的 Ubuntu 上的 Bash 上运行 conda 命令时,我收到以下错误:

$ conda conda: command not found

其他相关答案,如thisthis建议添加

C:\Users\«user»\Anaconda3\Scripts
C:\Users\«user»\Anaconda3

到 $PATH。但正如您在下面看到的,两者都已包含(我没有手动添加):

$ echo $PATH | tr ':' '\n'
...
/mnt/c/Users/«user»/Anaconda3
/mnt/c/Users/«user»/Anaconda3/Scripts
/mnt/c/Users/«user»/Anaconda3/Library/bin
...

Anaconda3/Scripts 中提供了以下 conda 文件:

conda.exe
conda-env.exe
conda-env-script.py
conda-script.py
conda-server.exe
conda-server-script.py

这些命令在 PowerShell 和 cmd 中都能正常工作。

我错过了什么?

[编辑]:更正第二个 URL 并将用户更改为上述 Anaconda3 路径中的

【问题讨论】:

  • 在你的路径中,文件在…/Users/Marco/…,但你告诉我们它在…/Users/user/…
  • @ctrl-alt-delor: user 是用户名的占位符。将其更改为 以使其更清晰。
  • 尝试运行conda.exe 而不是conda
  • @Poshi:做到了。换句话说,别名丢失了。将它添加到我的 ~/.bashrc。我想这是有道理的,因为 Anaconda 是在 WSL 之前安装的。如果我在激活 WSL 后在 Windows 上安装了 Anaconda 会怎样?它会自动创建别名吗?无论如何,如果您将其作为答案发布,我会接受。
  • @MarcoLeal 我改变了另一部分,使其保持一致

标签: python bash anaconda conda windows-subsystem-for-linux


【解决方案1】:

尝试运行conda.exe 而不是conda

Windows 假定.exe 将文件标记为可执行文件,并在查找二进制文件时忽略该扩展名。 Linux 使用一个标志,因此任何文件都可以是可执行文件,并且您需要提供全名,因为没有对扩展名的假设。

【讨论】:

  • 是的,在 Unix 中,名称就是名称。在 Windows 中,您指定实现(.exe.bat.com.py,...。在 Unix 中,我们不会泄漏实现(我们不使用文件扩展名。如果我们这样做只是一部分的名字)。
【解决方案2】:

运行 conda init

.anaconda3/bin/conda init 
.miniconda/bin/conda init

【讨论】:

  • 对我来说 conda init zsh 解决了我的问题,因为我没有意识到我通过从 bash 切换到 zsh 破坏了 conda
猜你喜欢
  • 1970-01-01
  • 2019-04-20
  • 2021-08-30
  • 2020-11-19
  • 1970-01-01
  • 2017-12-14
  • 2020-12-09
  • 1970-01-01
  • 2017-01-10
相关资源
最近更新 更多