我刚刚升级到 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