Ubuntu 16安装Python3.7失败求助:PPA方法报错及疑问
问题分析与解决方法
问题原因
你判断的没错:错误根源是_distutils_hack/__init__.py中使用了Python3.6才支持的f-string语法(f'spec_for_{name}'),但系统调用Python3.5来执行这段代码,触发语法错误。这个异常会导致APT相关的Python脚本执行中断,进而让deadsnakes PPA的包索引没有被正确加载,最终出现找不到python3.7包的错误。
解决步骤
清理冲突的Python包文件
直接删除导致语法错误的文件和路径:sudo rm -rf /usr/local/lib/python3.5/dist-packages/_distutils_hack /usr/local/lib/python3.5/dist-packages/distutils-precedence.pth重置APT缓存与索引
清理旧缓存并重新更新APT索引:sudo apt clean && sudo apt update重新添加PPA并更新索引
重新添加deadsnakes PPA(该源提供全版本Python安装包),再更新索引:sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update安装Python3.7
执行安装命令:sudo apt install python3.7
验证安装
安装完成后,执行以下命令确认版本:
python3.7 --version
内容的提问来源于stack exchange,提问作者personal_cloud
相关产品推荐
相关产品推荐

