【问题标题】:failed to use some application on windows wsl [closed]无法在 Windows wsl 上使用某些应用程序 [关闭]
【发布时间】:2020-12-22 09:42:05
【问题描述】:

我在 Win10 中使用 Ubuntu 作为子系统时遇到了一些问题。 例如,当我在 Windows 命令中使用“python”作为大多数其他应用程序时,它可以工作,但在 wsl 中,它不起作用。事实证明,我必须使用“python.exe”来启动它。但我发现我可以在没有“.exe”的情况下正确使用“curl”。我检查了wsl中的环境变量,它是正确的。我还发现'curl'不是我安装在D盘的。我曾尝试在 C 盘中重新安装我的应用程序,但它也不起作用。

enter image description here

【问题讨论】:

  • 请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask

标签: windows ubuntu windows-subsystem-for-linux


【解决方案1】:

python 将运行安装在 Linux 上的 Python,python.exe 将运行安装在 Windows 上的 Python(如果它位于 PATH 中)。

可能你还没有在你的 Linux 上安装 Python...你可以使用 sudo apt install python3 安装它

(默认安装curlwhich curl会告诉你它是从/usr/bin/curl运行的)

【讨论】:

  • 但是我很确定我可以像我之前说的那样使用。例如,像 python、golang、nodejs,当我在我的 PC 上安装 wsl 时,我可以立即使用这些命令。我刚刚收到这个问题是因为我刚刚因为某种原因重置了我的电脑。
  • 这没有意义,你的 WSL 环境就像它自己独立的操作系统,只是具有一些互操作性,例如直接执行 Windows 程序的选项。但是文件名不同(例如python vs python.exe),所以如果你真的想的话,你故意需要以这种方式运行 Windows 应用程序。无论如何最好这样,因为它们仍然在 Windows 中运行并且不了解 Linux,所以如果您或其他一些 Linux 应用程序意外地从 Linux 运行 Windows 的 Python,事情就会神秘地破坏,因为例如路径格式不同.
  • 也许您以前安装了其中一个黑客,允许您运行一些东西,就像它们安装在 Linux 上一样,即使它们实际上是在 Windows 中,但由于我解释的原因,这是一个坏主意更多。您应该将在 Linux 上所需的工具与在 Windows 中使用的工具分开安装。
  • 我明白了。非常感谢!!!
  • 实际上从 WSL 运行 .exe 是很常见的。我确实建议在 Linux 端运行 python,但如果你需要从 Windows 运行它,你需要使用 /etc/wsl.conf 并添加包含 appendWindowsPath=true 的 interop 部分
猜你喜欢
  • 1970-01-01
  • 2011-09-17
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多