如何在WSL Bash中配置`python`命令启动Python 3?
嘿,这个问题我之前在WSL里踩过坑,给你好好捋一捋:
为什么会出现这两个“竞争”的包?
其实这根本不是什么包冲突,只是系统的旧提示逻辑和新环境不匹配而已:
- 在Debian/Ubuntu系的Linux发行版(WSL默认一般是Ubuntu)里,早年
python命令默认指向Python 2,而python-minimal是当时Python 2的轻量预装包。 - 后来Python 2被彻底淘汰,新的系统镜像(包括WSL的)不再预装Python 2,
python-minimal这个包也被废弃甚至从软件源里移除了,但系统的命令查找提示机制还保留了历史记录——所以当你输入python找不到命令时,它会把所有曾经提供过python命令的包都列出来,哪怕这些包现在已经没用了。 - 而
python3是当前官方支持的Python版本,你已经安装了它,但系统默认没把python这个命令链接到python3,就出现了这种看似矛盾的提示。
至于你卸载python-minimal时提示未安装,是因为这个包在新的WSL镜像里本来就没预装,甚至可能已经从软件源里消失了,系统自然找不到它。
解决方法:让python命令直接运行Python 3
有两种靠谱的方式,选哪种都可以:
方法一:用系统的替代工具配置全局链接(推荐)
这个方法会让整个系统的python命令都指向Python 3,不管哪个用户都能用:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
执行完后,输入python --version验证一下,应该就能看到Python 3的版本信息了。
方法二:给当前用户设置别名
如果你不想修改全局配置,只给当前用户生效的话,可以在shell配置文件里加别名:
- 打开终端,执行命令把别名写入bash配置文件:
echo "alias python='python3'" >> ~/.bashrc
- 刷新配置让改动立即生效:
source ~/.bashrc
之后再打开新的终端窗口,输入python就会自动调用Python 3了。
内容的提问来源于stack exchange,提问作者urig
相关产品推荐
相关产品推荐

