不管是下载软件包,卸载软件包,甚至是执行apt-get upgrade都会报错:
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in <module>
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: 处理软件包 python-decorator (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
正在设置 python-numpy (1:1.11.0-1ubuntu1) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in <module>
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: 处理软件包 python-numpy (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
正在设置 python-pil:amd64 (3.1.2-0ubuntu1.1) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in <module>
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: 处理软件包 python-pil:amd64 (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
正在设置 python-xlib (0.14+20091101-5) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in <module>
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: 处理软件包 python-xlib (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
由于已经达到 MaxReports 限制,没有写入 apport 报告。
在处理时有错误发生:
python-decorator
python-numpy
python-pil:amd64
python-xlib
E: Sub-process /usr/bin/dpkg returned an error code (1)
原因
ConfigParser是python2的包,python3将它改成了configparser,因此找不到。
而出现这个错误的原因是之前把python的软链接指向了python 3.5,本来默认是指向2.7。系统某些程序使用了python指令,因python3不兼容导致异常。
解决
重新建立符号链接,指向python2.7:
ln -sf /usr/bin/python2.7 /usr/local/bin/python
在文件夹查看应该得到:
如果命令无效,可以先删除原有链接:
sudo rm -rf /usr/bin/python
再重新建立链接。
设置默认python3
另外,如果想执行python时默认执行python3,可以使用alias。打开文件
gedit ~/.bashrc
在后面加一行,保存:
alias python=python3
执行
source ~/.bash_aliases
或者
source ~/.bashrc
结果:
$ python --version
Python 3.5.2