无法apt-get安装包E:子进程/ usr/bin/dpkg返回错误代码(1)

lui*_*jie 1 python linux mercurial debian python-3.x

每当我尝试使用apt-get install安装软件包时,我都会遇到以下错误:

After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up python-support (1.0.15) ...
  File "/usr/sbin/update-python-modules", line 52
    print x
          ^
SyntaxError: Missing parentheses in call to 'print'
dpkg: error processing package python-support (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up mercurial-common (3.1.2-2+deb8u1) ...
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: error processing package mercurial-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mercurial:
 mercurial depends on mercurial-common (= 3.1.2-2+deb8u1); however:
  Package mercurial-common is not configured yet.

dpkg: error processing package mercurial (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-support
 mercurial-common
 mercurial
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

我目前在我的机器上使用Python 3.4.2.

unu*_*tbu 5

您是否将默认python从Python2更改为Python3?目前,Debian附带了默认的Python2安装.用Python编写的系统脚本,例如/usr/sbin/update-python-modules期望python运行Python2的版本.将默认python更改为Python3将导致各种脚本中断.如果您确实将Python3作为默认设置,那么修复当前问题的方法是恢复并再次使Python2成为默认值.


在Python2中print是一个声明,因此print x是有效的.

在Python3中print是一个函数,因此调用该函数需要将参数包装在括号内.所以print x必须改为print(x).print x提出一个SyntaxError:

  File "/usr/sbin/update-python-modules", line 52
    print x
          ^
SyntaxError: Missing parentheses in call to 'print'
Run Code Online (Sandbox Code Playgroud)

而不是更改系统的默认python,使用pyenv或virtualenv来管理/切换多个版本的Python.