当我在 Windows 10 家庭版的 bash shell(适用于 Linux 的 Windows 子系统)中输入
python
时,我收到以下错误消息:
The program 'python' can be found in the following packages:
* python-minimal
* python3
Try: sudo apt install <selected package>
我尝试安装
python3
,但被告知它已经安装并且是最新的。
我尝试卸载
python-minimal
但被告知它尚未安装(!)
为什么我会看到两个“竞争”的 Python 包?如何修复冲突并配置 WSL bash 以从
python
运行 Python 3?
如果您在 WSL 下运行 Ubuntu 20,则有一个名为
python-is-python3
的新软件包:
cameron@Nook:/mnt/c/Users/camer$ sudo apt install python-is-python3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
python-is-python3
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 2364 B of archives.
After this operation, 10.2 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 python-is-python3 all 3.8.2-4 [2364 B]
Fetched 2364 B in 0s (7208 B/s)
Selecting previously unselected package python-is-python3.
(Reading database ... 33571 files and directories currently installed.)
Preparing to unpack .../python-is-python3_3.8.2-4_all.deb ...
Unpacking python-is-python3 (3.8.2-4) ...
Setting up python-is-python3 (3.8.2-4) ...
cameron@Nook:/mnt/c/Users/camer$ python --version
Python 3.8.10
或者,您可以使用
update-alternatives
:
sudo update-alternatives --install /usr/bin/python python $(readlink -f $(which python3)) 3
python
作为 CLI 命令几乎总是意味着 python2
而不是 python3
。确保您已安装 python2
(sudo apt install python
)。
不要将
python
别名为python3
- 这是一些不好的建议!
要运行
python3
,您必须在 CLI 上指定 python3
。
如果你的脚本可以使用 python3,别名是最简单的方法:
sudo ln -s /usr/bin/python3 /usr/bin/python