升级到 Ubuntu 22.04 后 Python 无法运行

升级到 Ubuntu 22.04 后 Python 无法运行

我刚刚升级到 Ubuntu 22.04 (WSL),但不知为何我的 Python 变得一团糟。

当我加载 Ubuntu 时,我得到:

/usr/bin/env: ‘python3’: No such file or directory
/usr/bin/env: ‘python3’: No such file or directory
/usr/bin/env: ‘python3’: No such file or directory

$ type python python3
-bash: type: python: not found
-bash: type: python3: not found

然而,这些确实存在:

$ type python3.10 python3.11
python3.10 is /usr/bin/python3.10
python3.11 is /usr/bin/python3.11

我安装了python-is-python3。我以为这应该能帮我解决所有这些问题(Ubuntu 22.04 应该预装 Python3)。我该如何解决这个问题?我可以,例如,alias python将 和python3添加到其中一个安装中,但这似乎不是正确的解决方案,而且显然pip(不知何故确实存在)明确尝试运行/usr/bin/python3

答案1

更新替代方案可能会解决你的问题

(以下只是我的系统上的输出,在您那边看起来会有所不同......)

$ update-alternatives --config python
There are 3 choices for the alternative python (providing /usr/bin/python3).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10        0         auto mode
  1            /usr/bin/python3.10        0         manual mode
  2            /usr/bin/python3.11        0         manual mode
  3            /usr/local/bin/python3.9   0         manual mode

Press <enter> to keep the current choice[*], or type selection number:

首先这样做:

sudo update-alternatives --get-selections | grep python

在我的系统上显示:

pybabel                        auto     /usr/bin/pybabel-python3
python                         auto     /usr/bin/python3.10
sagenb-export                  auto     /usr/bin/sagenb-export-python3

这意味着您需要python(而不是python3)作为之后的参数--install

因此,当 3.10 不在列表中时,--config执行以下操作:

sudo update-alternatives --install /bin/python3 python /usr/bin/python3.10 0

相关内容