为什么我不能在WSL2 Ubuntu中使用来自Windows的pip3


alban@DESKTOP-P7H1H2P:/mnt/c/Users/alban$ pip3
Command 'pip3' not found, but can be installed with:
sudo apt install python3-pip

但当我对CMD或PowerShell执行相同操作时:

PS C:Usersalban> pip3
Usage:
pip3 <command> [options]

它就在那里,为什么不能使用相同的pip?有没有办法将WSL指向该安装?

要在WSL-2上使用pip3,需要强制使用"。exe";命令行上的二进制文件:

pip            pip.exe     pip3         pip3.8         pip3.8.exe     pip3.exe
^ not work     ^ work      ^ not work   ^ not work     ^ work         ^ work

您还需要事先在Windows下安装Python。

这个老问题今天被一个迟到的答案所取代,但它需要为遇到这个问题的人做更多的解释。

首先,WSL做了几件事,允许您从Linux命令行运行Windows可执行文件:

  • 默认情况下,它会自动将Windows路径附加到Linux路径
  • 默认情况下,它允许您运行Windows可执行文件,但您确实需要指定扩展,因为Linux并不真正理解";概念";的扩展,至少不适用于可执行文件

请注意,这两个功能都可以通过/etc/wsl.conf禁用,但您不太可能需要这样做。

因此,正如另一个答案所说,如果您可以从CMD或PowerShell中运行pip3,那么您应该能够从WSL/Linux中运行pip3.exe

但这不应该是讨论的结束。仅仅因为可以做某事并不意味着这是一个好主意;-(。

Python和pip的Windows版本自然是为Windows设计的。他们了解Windows路径格式、Windows进程等。如果你试图给它传递一个Linux路径(这在WSL中是自然的(,它是行不通的。

有没有办法指向安装

所以是的,虽然可以将WSL指向Windows Python/pip安装,但不建议这样做。最好安装Linux版本的pip3(sudo apt install python3-pip(。

相关内容

  • 没有找到相关文章

最新更新