故事的起源:最近看了《黑客与画家》,决定要学个动态语言,但lisp难点,ruby又是鬼子搞的,所以选了python。ubuntu12.10里python的默认版本是2.7,但我看最新的是3.3,于是,更新癖再犯,各种搜索,安装了3.3版,但在终端输入”python”,默认打开的还是2.7,我岂能容忍?
rm /usr/bin/python
ln -s /usr/bin/python3.3 /usr/bin/python
将默认打开版本换成了3.3.这也成了我倒霉的开端……之后,软件中心打不开,ubuntu tweak也打不开(实际上,此时依赖python的程序都不行了)
root@SHIT :~# software-center
File "/usr/bin/software-center", line 140
print time.time()
^
SyntaxError: invalid syntax
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 4, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
Original exception was:
File "/usr/bin/software-center", line 140
print time.time()
^
SyntaxError: invalid syntax
搜索“ubuntu软件中心无法打开”,找到一下的解决方案:
gedit /etc/lsb-release
用以下内容替换其中的文本:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION=“Ubuntu 12.10″
软件中心是打开,页面却一直处于空白的刷新界面。
卸载重装
apt-get autoremove software-center --purge
apt-get install software-center
或
apt-get --reinstall install software-center
还是不行……不是这的问题,是python的问题
google一下,找到这个
http://stackoverflow.com/questions/13708180/python-dev-installation-error-importerror-no-module-named-apt-pkg
先移除,即 apt-get remove --purge python-apt
然后安装 apt-get install python-apt
root@SHIT :~# apt-get install python-apt
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
python-apt 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。
root@SHIT :~# apt-get remove --purge python-apt
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
gir1.2-unique-3.0 libunique-3.0-0
Use 'apt-get autoremove' to remove them.
下列软件包将被【删除】:
apt-xapian-index* flashplugin-installer* gdebi* gdebi-core*
gir1.2-ubuntuoneui-3.0* gnome-control-center*
gnome-control-center-signon* indicator-datetime*
indicator-power* landscape-client-ui-install*
libsyncdaemon-1.0-1* libubuntuoneui-3.0-1* oneconf*
python-apport* python-apt* python-aptdaemon*
python-aptdaemon.gtk3widgets* sessioninstaller*
software-center* ttf-mscorefonts-installer*
ubuntu-release-upgrader-gtk* ubuntu-system-service*
ubuntu-tweak* ubuntuone-client* ubuntuone-client-gnome*
ubuntuone-control-panel* ubuntuone-control-panel-qt*
update-manager* update-notifier* update-notifier-common*
升级了 0 个软件包,新安装了 0 个软件包, 要卸载 30 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 25.4 MB 的空间。
您希望继续执行吗?[Y/n] y
dpkg:警告:files list file for package 'libxcomposite-dev' missing; assuming package has no files currently installed
dpkg:警告:files list file for package 'gnome-power-manager' missing; assuming package has no files currently installed
……
……
……
dpkg:警告:files list file for package 'libmono-system-data4.0-cil' missing; assuming package has no files currently installed
dpkg:警告:files list file for package 'xserver-xorg-input-vmmouse' missing; assuming package has no files currently installed
(正在读取数据库 ... 系统当前共安装有 81 个文件和目录。)
正在解压缩 python-apt (从 .../python-apt_0.8.7ubuntu4_i386.deb) ...
正在设置 python-apt (0.8.7ubuntu4) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 36, 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'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 4, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/pycompile", line 36, 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: error processing python-apt (--configure):
子进程 已安装 post-installation 脚本 返回了错误号 1
在处理时有错误发生:
python-apt
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@SHIT :~# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后会消耗掉 0 B 的额外空间。
您希望继续执行吗?[Y/n] y
正在设置 python-apt (0.8.7ubuntu4) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 36, 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'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 4, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/pycompile", line 36, 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: error processing python-apt (--configure):
子进程 已安装 post-installation 脚本 返回了错误号 1
由于已经达到 MaxReports 限制,没有写入 apport 报告。
在处理时有错误发生:
python-apt
E: Sub-process /usr/bin/dpkg returned an error code (1)
还不行,但是,突然得到神明指点,想起了我原来把python的默认运行版本改了!我靠,就是这的问题,这下好办了,把python的版本改回来应该就好了
root@SHIT :~# rm /usr/bin/python
root@SHIT :~# ln -s /usr/bin/python2.7 /usr/bin/python
root@SHIT :~# apt-get install -f ##即便完整性检查失败了仍然继续,也就是接着安装未完成的包
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
gir1.2-unique-3.0 libunique-3.0-0
Use 'apt-get autoremove' to remove them.
升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后会消耗掉 0 B 的额外空间。
正在设置 python-apt (0.8.7ubuntu4) ...
root@SHIT :~# apt-get install -f
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
gir1.2-unique-3.0 libunique-3.0-0
Use 'apt-get autoremove' to remove them.
升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。
点击ubuntu软件中心,不再是闪几下就趴窝了,久违的界面启动了