Ubuntu16.04下apt-get安装软件出现ConfigParser缺失问题的解决求助
解决Ubuntu 16.04下apt-get安装软件时Python相关错误的思路
问题根源
Ubuntu 16.04系统中,apt相关的维护脚本(如pyclean、pycompile)是基于Python 2编写的。如果系统默认的python命令被指向了Python 3,执行这些脚本时就会出现语法错误(比如Python 2的except (IOError, OSError), e:语法在Python 3中不兼容),以及模块找不到的问题(Python 3中ConfigParser已更名为configparser)。
解决步骤
检查默认Python指向
执行以下命令确认当前默认Python版本:ls -l /usr/bin/python如果输出显示链接指向
python3,则确认是此问题导致的错误。恢复系统默认Python为Python 2.7
执行命令将默认python链接回系统自带的Python 2.7:sudo ln -sf /usr/bin/python2.7 /usr/bin/python修复损坏的软件包
清理apt缓存并重新配置dpkg,修复未完成安装的包:sudo apt clean sudo dpkg --configure -a sudo apt -f install验证修复效果
尝试安装一个测试包确认问题已解决:sudo apt-get install -y htop若安装过程无报错,则说明修复成功。
后续Python 3使用建议
需要使用Python 3时,直接调用python3命令;或者通过虚拟环境(如virtualenv、venv)隔离Python版本,避免修改系统默认的Python链接,防止再次影响apt的正常运行。
内容的提问来源于stack exchange,提问作者user3595231
相关产品推荐
相关产品推荐

