如何在适用于 Linux 的 Windows 子系统上使用相同的适用于 Windows 和 Linux 的 Python

如何在适用于 Linux 的 Windows 子系统上使用相同的适用于 Windows 和 Linux 的 Python

我的 Windows 电脑上安装了 Python 3.6。我安装了适用于 Linux 的 Windows 子系统 (WSL)。当我python在 Ubuntu 终端中输入时,系统提示我正在使用 Python 2.7(我猜它是预装在 Ubuntu 上的)。

如何在 Windows 和 Linux 上使用相同的 Python,以便如果我从任一系统使用 pip 安装新包,我可以从任一系统访问它?我希望两个系统共享相同的 Python。

似乎遵循了创建别名可能会有效,但我很确定pip命令将保持不变(指的是 Windows 上的 Python 3.6 和 Linux 上的 Python 2.7),其他功能也可能保持不变。

答案1

您可以使用 Windows 中使用的 Python 版本,方法是输入python.exe而不是python3。 不建议这样做,也没有真正的理由这样做,因为您将面临几个问题

  • CR/LF 行尾
  • 以这种方式运行 python 不会保留路径,因此,假设您test.py在当前 WSL 文件夹中运行python.exe test.py。 Python 将在其根目录中启动,并且无法找到test.py

Python 的行为相同,就像在 etc 的情况下一样pip freeze,如果您在相同的环境中运行,将产生相同的输出virtualenv,因此只需使用 ubuntu 版本的 python 就可以了。

从 18.04 开始,WSL ubuntu 预装了 Python 3.6.5,您可以在下面看到 Windows 和 ubuntu python 都在使用

答案2

我按照以下步骤操作。它对我有用。这些步骤在 WSL Ubuntu 上安装 python3

sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get -y install python3-pip 

我从这里得到了帮助 - [https://askubuntu.com/a/672836/876942]。按照这些步骤安装 python 2。但是我在最后一步使用 [sudo apt-get -y install python3-pip] 安装了 python 3。

相关内容