半安装的 Python 包和循环依赖

半安装的 Python 包和循环依赖

从 ubuntu 12.04 更新至 12.10 时出现错误:

root@ely:/sys/bus/usb/devices# dpkg -l | grep ^i[HUFW]
iU  libpython2.7                           2.7.3-0ubuntu3.4                        Shared Python runtime library (version 2.7)
iU  python                                 2.7.3-0ubuntu2.2                        interactive high-level object-oriented language (default version)
iU  python-all                             2.7.3-0ubuntu2.2                        package depending on all supported Python runtime versions
iU  python-all-dev                         2.7.3-0ubuntu2.2                        package depending on all supported Python development packages
iU  python-dev                             2.7.3-0ubuntu2.2                        header files and a static library for Python (default)
iU  python-minimal                         2.7.3-0ubuntu2.2                        minimal subset of the Python language (default version)
iU  python2.7                              2.7.3-0ubuntu3.4                        Interactive high-level object-oriented language (version 2.7)
iU  python2.7-dev                          2.7.3-0ubuntu3.4                        Header files and a static library for Python (v2.7)
iF  python2.7-minimal                      2.7.3-0ubuntu3.4                        Minimal subset of the Python language (version 2.7)

当我尝试配置包 python2.7-minimal 和 python-minimal 时,我得到了类似循环依赖的东西:

root@ely:~# sudo dpkg --configure python2.7-minimal
dpkg: dependency problems prevent configuration of python2.7-minimal:
 python2.7-minimal depends on python-minimal (>= 2.6.6-3+squeeze1); however:
  Package python-minimal is not configured yet.
dpkg: error processing python2.7-minimal (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python2.7-minimal


root@ely:~# sudo dpkg --configure python-minimal
dpkg: dependency problems prevent configuration of python-minimal:
 python-minimal depends on python2.7-minimal (>= 2.7.3); however:
  Package python2.7-minimal is not configured yet.
dpkg: error processing python-minimal (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-minimal

我该如何解决那些 python2.7-minimal <-> python.minimal 依赖项?其次,我该如何解压或配置 iU 和 iF 标记的软件包?在这种情况下,我无法重新配置或安装任何东西。谢谢。

更新:我清除了上述所有软件包,除了 python-minimal,它是必需的,无法清除。重新安装任何软件包后,我得到:

Processing triggers for man-db ...
Setting up python2.7-minimal (2.7.3-0ubuntu3.4) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site.py", line 563, in <module>
    main()
  File "/usr/local/lib/python2.7/site.py", line 545, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/local/lib/python2.7/site.py", line 278, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/local/lib/python2.7/site.py", line 253, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/local/lib/python2.7/site.py", line 243, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/local/lib/python2.7/sysconfig.py", line 520, in get_config_var
    return get_config_vars().get(name)
  File "/usr/local/lib/python2.7/sysconfig.py", line 419, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/local/lib/python2.7/sysconfig.py", line 298, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open /usr/local/include/python2.7/pyconfig.h     (No such file or directory)
    dpkg: error processing python2.7-minimal (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python-minimal:
 python-minimal depends on python2.7-minimal (>= 2.7.3); however:
  Package python2.7-minimal is not configured yet.
dpkg: error processing python-minimal (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 python2.7-minimal
 python-minimal
E: Sub-process /usr/bin/dpkg returned an error code (1)

现在我又回到了这样的状态:

root@ely:~# dpkg -l | grep ^i[HUFW]
iU  python-minimal                         2.7.3-0ubuntu2.2                        minimal     subset of the Python language (default version)
iF  python2.7-minimal                      2.7.3-0ubuntu3.4                        Minimal subset of the Python language (version 2.7)

所以我认为罪魁祸首是未打包的 python-minimal 库。我该如何解压或解决这个问题?

答案1

我也有类似的问题。

当我运行python时我还发现:

# python
ImportError: No module named site

但如果使用默认环境变量则有效

# python -E
Python 2.7.3 (default, Mar 13 2014, 11:03:55) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

所以我将 $PYTHONPATH 和 $PYTHONHOME 都设置为 /usr/lib/python2.7

# export PYTHONPATH=/usr/lib/python2.7
# export PYTHONHOME=/usr/lib/python2.7

然后再次安装 python

# aptitude install python2.7

我猜测 apt-get/aptitude 依赖于 python,但是它(python)已损坏。

希望这有帮助!

相关内容