在WSL Debian 11中安装Python 3.10以替换默认版本
问题分析与解决
你操作中的几个错误点:
- 下载路径错误:你使用的
wget链接路径有误,3.10.10的源码包存放在/ftp/python/3.10.10/目录下,而非3.10.0,这个链接实际会下载失败,大概率你实际操作时修正了路径,但描述里写错了。 --prefix参数设置错误:--prefix指定的是安装的根目录,不是直接指定二进制文件目录。写--prefix="/usr/bin"会导致安装结构混乱,默认不指定prefix时,make install会将文件安装到/usr/local,这也是你看到Python出现在/usr/local/bin的原因。- 缺少
sudo make install步骤:仅执行make只是完成编译,没有将编译后的文件安装到指定系统目录,必须执行安装步骤才能把Python放到/usr/bin下。 - 未更新系统默认Python软链接:即使安装了新的Python版本,系统的
python3软链接仍指向旧版本3.9,需要手动修改才能切换默认版本。
正确的操作步骤:
1. 重新下载正确的源码包
wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
2. 解压并进入源码目录
tar -xf Python-3.10.10.tgz cd Python-3.10.10
3. 重新配置编译参数
设置--prefix="/usr",这样编译后的文件会自动安装到/usr/bin、/usr/lib等对应系统目录:
./configure --enable-optimizations --prefix="/usr"
4. 编译并安装
make -j $(nproc) # 使用所有可用CPU核心,比固定-j4更高效 sudo make install
5. 更新系统默认Python3链接
先备份原链接,再将python3指向新安装的Python3.10:
# 备份原链接 sudo mv /usr/bin/python3 /usr/bin/python3.9.bak # 创建新软链接 sudo ln -s /usr/bin/python3.10 /usr/bin/python3
验证结果
执行以下命令查看版本:
python3 -V
此时应该显示Python 3.10.10。
注意事项:
- 执行
sudo make install时会覆盖/usr/bin下的python3.10(如果之前有安装),但不会直接替换python3软链接,所以必须手动更新。 --enable-optimizations会开启编译优化,编译时间会稍长,但能提升Python运行性能。
内容的提问来源于stack exchange,提问作者aerioeus
相关产品推荐
相关产品推荐

