En mi Kubuntu 14.4 (que tiene python 2.7.6 como estándar) mi python se rompe después de que intenté instalar python 2.7.10 después de construir desde la fuente de python.org con la ayuda de Cómo instalar la última versión de Python en Debian por separado o ¿potenciar? . No puedo repararlo con los comandos estándar Sospecho que mi dpkg está de alguna manera confundido / roto con respecto a la instalación de Python. Me gustaría arreglar dpkg en este aspecto. Sospecho que esto tiene algo que ver con el archivo /var/lib/dpkg/status
y /var/lib/dpkg/available
e /var/lib/dpkg/info/*
particularily la primera. Creo que tengo que reiniciar de dpkg
alguna manera, pero realmente no soy un experto. La razón por la que creo que esto es:
$ apt-cache policy python
python:
Installed: 2.7.10-1
Candidate: 2.7.10-1
Version table:
*** 2.7.10-1 0
100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
$ /usr/bin/python2.7
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
La razón por la que intenté instalar python 2.7.10 es porque lo necesitaba para otro programa (debido a problemas con ssl / openssl de python 2.7.6), pero ahora solo quiero reparar mi sistema, solo déjelo ser python 2.7 .6.
El técnico completo
Comencé a tratar de resolver esto preguntando en ubuntu /ubuntu/648424/muon-is-gone-after-change-of-python-issues-after-python-2-7-10-installation- sobre , pero no he tenido ninguna respuesta allí. Tal vez fue la multitud equivocada. He intentado bastante desde entonces y tengo una idea de cuál es el problema, pero no sé los pasos para lograrlo.
Comenzó conmigo no pudiendo instalar muon con sudo apg-get install muon
:
$ sudo apt-get install muon
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
muon : Depends: apt-xapian-index but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
El consejo típico (por ejemplo, de /ubuntu/118749/package-system-is-broken-how-to-fix-it ) no ayuda:
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade -f
sudo apt-get -f install muon
o
sudo apt-get -f install
o
sudo dpkg --configure -a
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install muon
o
sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install muon
no ayudó. Así que lo intenté
$ sudo apt-get install apt-xapian-index
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
apt-xapian-index : Depends: python-xapian (>= 1.0.2) but it is not going to be installed
Depends: python-apt (>= 0.7.93.2) but it is not going to be installed
Depends: python-debian (>= 0.1.14) but it is not going to be installed
Depends: python:any (>= 2.7.1-0ubuntu2)
E: Unable to correct problems, you have held broken packages.
y descubrí que el problema es con otros programas, así como
$ sudo apt-get install meld
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
meld : Depends: python:any (>= 2.7.1-0ubuntu2)
Depends: python-gtk2 (>= 2.14) but it is not going to be installed
Depends: python-glade2 (>= 2.14) but it is not going to be installed
Depends: python-gobject-2 (>= 2.16) but it is not going to be installed
Recommends: python-gnome2 but it is not going to be installed
Recommends: python-gconf but it is not going to be installed
Recommends: python-gtksourceview2 (>= 2.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Así que lo intenté (sin suerte)
$ sudo update-alternatives --config python
update-alternatives: error: no alternatives for python
Lo siguiente tampoco ayudó:
sudo dpkg -P python2.7
sudo apt-get install python2.7
sudo dpkg -P python-minimal
sudo apt-get autoremove && sudo apt-get clean sudo apt-get update && sudo apt-get -f install
estoy obteniendo
$ apt-cache policy python
python:
Installed: 2.7.10-1
Candidate: 2.7.10-1
Version table:
*** 2.7.10-1 0
100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
Intentar reinstalar Python no funciona
$ sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install python
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of python is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
o
$ sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install python2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python2
e intentar construir un desinstalador tampoco funciona:
~/Python-2.7.10$ sudo make uninstall
make: *** No rule to make target `uninstall'. Stop.
Entonces comencé a sospechar que tengo que arreglar dpkg de alguna manera, porque
$ apt-cache policy python
python:
Installed: 2.7.10-1
Candidate: 2.7.10-1
Version table:
*** 2.7.10-1 0
100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
$ /usr/bin/python2.7
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
Más información (Apéndice)
$ dpkg -l python* | grep -v ^un
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name Version Architektur Beschreibung
+++-===========================================-=======================================-============-=====================================================================================================================================================================================================================
ii python 2.7.10-1 amd64 Python 2.7.10
ii python-apt-common 0.9.3.5ubuntu1 all Python interface to libapt-pkg (locales)
ii python-chardet-whl 2.2.1-2~ubuntu1 all universal character encoding detector
ii python-colorama-whl 0.2.5-0.1ubuntu2 all Cross-platform colored terminal text in Python - Wheels
ii python-cups 1.9.66-0ubuntu2 amd64 Python bindings for CUPS
rc python-cupshelpers 1.4.3+20140219-0ubuntu2.6 all Python modules for printer configuration with CUPS
ii python-dbus-dev 1.2.0-2build2 all main loop integration development files for python-dbus
ii python-distlib-whl 0.1.8-1ubuntu1 all low-level components of python distutils2/packaging
rc python-gobject-2 2.28.6-12build1 amd64 deprecated static Python bindings for the GObject library
ii python-html5lib-whl 0.999-3~ubuntu1 all HTML parser/tokenizer based on the WHATWG HTML5 specification
ii python-ldb 1:1.1.16-1 amd64 Python bindings for LDB
ii python-minimal 2.7.5-5ubuntu3 amd64 minimal subset of the Python language (default version)
ii python-ntdb 1.0-2ubuntu1 amd64 Python bindings for NTDB
ii python-pam 0.4.2-13.1ubuntu3 amd64 Python interface to the PAM library
ii python-pip-whl 1.5.4-1ubuntu3 all alternative Python package installer
ii python-renderpm 3.0-1build1 amd64 python low level render interface
ii python-reportlab-accel 3.0-1build1 amd64 C coded extension accelerator for the ReportLab Toolkit
ii python-requests-whl 2.2.1-1ubuntu0.3 all elegant and simple HTTP library for Python, built for human beings
ii python-setuptools-whl 3.3-1ubuntu2 all Python Distutils Enhancements (wheel package)
ii python-six-whl 1.5.2-1ubuntu1 all Python 2 and 3 compatibility library (universal wheel)
rc python-support 1.0.15 all automated rebuilding support for Python modules
ii python-talloc 2.1.0-1 amd64 hierarchical pool based memory allocator - Python bindings
ii python-tdb 1.2.12-1 amd64 Python bindings for TDB
ii python-twisted-bin 13.2.0-1ubuntu1 amd64 Event-based framework for internet applications
rc python-twisted-core 13.2.0-1ubuntu1 all Event-based framework for internet applications
rc python-ubuntu-sso-client 13.10-0ubuntu6 all Ubuntu Single Sign-On client - Python library
ii python-urllib3-whl 1.7.1-1ubuntu3 all HTTP library with thread-safe connection pooling
ii python2.7 2.7.6-8ubuntu0.2 amd64 Interactive high-level object-oriented language (version 2.7)
ii python2.7-minimal 2.7.6-8ubuntu0.2 amd64 Minimal subset of the Python language (version 2.7)
ii python3 3.4.0-0ubuntu2 amd64 interactive high-level object-oriented language (default python3 version)
ii python3-apport 2.14.1-0ubuntu3.11 all Python 3 library for Apport crash report handling
ii python3-apt 0.9.3.5ubuntu1 amd64 Python 3 interface to libapt-pkg
ii python3-aptdaemon 1.1.1-1ubuntu5.2 all Python 3 module for the server and client of aptdaemon
ii python3-chardet 2.2.1-2~ubuntu1 all universal character encoding detector for Python3
ii python3-colorama 0.2.5-0.1ubuntu2 all Cross-platform colored terminal text in Python - Python 3.x
ii python3-commandnotfound 0.3ubuntu12 all Python 3 bindings for command-not-found.
ii python3-dbus 1.2.0-2build2 amd64 simple interprocess messaging system (Python 3 interface)
ii python3-dbus.mainloop.qt 4.10.4+dfsg-1ubuntu1 amd64 D-Bus Support for PyQt4 with Python 3
ii python3-debian 0.1.21+nmu2ubuntu2 all Python 3 modules to work with Debian-related data formats
ii python3-defer 1.0.6-2build1 all Small framework for asynchronous programming (Python 3)
ii python3-dev 3.4.0-0ubuntu2 amd64 header files and a static library for Python (default)
ii python3-distlib 0.1.8-1ubuntu1 all low-level components of python distutils2/packaging
ii python3-distupgrade 1:0.220.7 all manage release upgrades
ii python3-gdbm:amd64 3.4.0-0ubuntu1 amd64 GNU dbm database support for Python 3.x
ii python3-gi 3.12.0-1ubuntu1 amd64 Python 3 bindings for gobject-introspection libraries
ii python3-html5lib 0.999-3~ubuntu1 all HTML parser/tokenizer based on the WHATWG HTML5 specification (Python 3)
ii python3-minimal 3.4.0-0ubuntu2 amd64 minimal subset of the Python language (default python3 version)
ii python3-pip 1.5.4-1ubuntu3 all alternative Python package installer - Python 3 version of the package
ii python3-pkg-resources 3.3-1ubuntu2 all Package Discovery and Resource Access using pkg_resources
ii python3-problem-report 2.14.1-0ubuntu3.11 all Python 3 library to handle problem reports
ii python3-pycurl 7.19.3-0ubuntu3 amd64 Python 3 bindings to libcurl
ii python3-pykde4 4:4.13.3-0ubuntu0.1 amd64 Python 3 bindings for the KDE Development Platform
ii python3-pyqt4 4.10.4+dfsg-1ubuntu1 amd64 Python3 bindings for Qt4
ii python3-requests 2.2.1-1ubuntu0.3 all elegant and simple HTTP library for Python3, built for human beings
ii python3-setuptools 3.3-1ubuntu2 all Python3 Distutils Enhancements
ii python3-sip 4.15.5-1build1 amd64 Python 3/C++ bindings generator runtime library
ii python3-six 1.5.2-1ubuntu1 all Python 2 and 3 compatibility library (Python 3 interface)
ii python3-software-properties 0.92.37.3 all manage the repositories that you install software from
ii python3-uno 1:4.2.8-0ubuntu2 amd64 Python-UNO bridge
ii python3-update-manager 1:0.196.13 all python 3.x module for update-manager
ii python3-urllib3 1.7.1-1ubuntu3 all HTTP library with thread-safe connection pooling for Python3
ii python3-wheel 0.24.0-1~ubuntu1 all built-package format for Python
ii python3-xkit 0.5.0ubuntu2 all library for the manipulation of xorg.conf files (Python 3)
ii python3.4 3.4.0-2ubuntu1.1 amd64 Interactive high-level object-oriented language (version 3.4)
ii python3.4-dev 3.4.0-2ubuntu1.1 amd64 Header files and a static library for Python (v3.4)
ii python3.4-minimal 3.4.0-2ubuntu1.1 amd64 Minimal subset of the Python language (version 3.4)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
$ grep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty main restricted
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty universe
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security main restricted
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security universe
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security multiverse
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
/etc/apt/sources.list:deb http://archive.canonical.com/ubuntu trusty partner
/etc/apt/sources.list:deb http://extras.ubuntu.com/ubuntu trusty main
/etc/apt/sources.list:deb http://cran.uni-muenster.de/bin/linux/ubuntu trusty/
/etc/apt/sources.list.d/fossfreedom-packagefixes-trusty.list:deb http://ppa.launchpad.net/fossfreedom/packagefixes/ubuntu trusty main
/etc/apt/sources.list.d/jitsi.list:deb http://download.jitsi.org/deb unstable/
/etc/apt/sources.list.d/leviatan1-ppa-trusty.list:deb http://ppa.launchpad.net/leviatan1/ppa/ubuntu trusty main
$ whereis python
python: /usr/bin/python /usr/bin/python3.4-config /usr/bin/python3.4 /usr/bin/python3.4m /usr/bin/python2.7 /usr/bin/python3.4m-config /etc/python /etc/python3.4 /etc/python2.7 /usr/lib/python3.4 /usr/lib/python2.7 /usr/bin/X11/python /usr/bin/X11/python3.4-config /usr/bin/X11/python3.4 /usr/bin/X11/python3.4m /usr/bin/X11/python2.7 /usr/bin/X11/python3.4m-config /usr/local/lib/python3.4 /usr/local/lib/python2.7 /usr/include/python3.4 /usr/include/python3.4m /usr/share/python /usr/share/man/man1/python.1.gz
$ whereis python2.7
python2: /usr/bin/python2.7 /usr/bin/python2 /etc/python2.7 /usr/lib/python2.7 /usr/bin/X11/python2.7 /usr/bin/X11/python2 /usr/local/lib/python2.7 /usr/share/man/man1/python2.1.gz
fuente
whereis python2.7
ywhereis python
?--prefix=/path/to/folder
el./configure
comando../configure --prefix=/opt/python
. Si no lo hiciste, esto podría haber sido donde las cosas salieron mal. Sin suministrar la--prefix=/opt/python
pieza, puede sobrescribir la instalación de todo el sistema. ¿Seguiste exactamente esas instrucciones?Respuestas:
Ha instalado paquetes de Python que son más recientes de lo que proporciona su distribución. Por ejemplo, tiene
python
instalada la versión 2.7.10-1 pero su distribución solo tiene la versión 2.7.5-5ubuntu3.APT no degrada los paquetes a menos que se le indique explícitamente que lo haga. Entonces, por ejemplo, si intenta instalar un paquete que depende de la versión exacta de Python, no funcionará, porque el
python
paquete no se puede degradar. Inclusoapt-get --reinstall install python
falla porque APT no degradará Python a 2.7.5.Para reparar su sistema, debe permitir que APT realice degradaciones. Para hacer eso, defina las preferencias de APT . Crear un archivo que
/etc/apt/preferences.d/allow-downgrade
contengaLos archivos en
/etc/apt/preferences.d
(más/etc/apt/preferences
) contienen declaraciones de prioridad que anulan la selección predeterminada cuando hay disponibles varias versiones de un paquete, que es "preferir la última versión de la distribución de destino". Si se le da prioridad a un paquete por encima de 1000, se preferirá incluso si se trata de una versión anterior a un paquete con una prioridad inferior. Los paquetes instalados tienen prioridad 500, por lo que gana el paquete de Ubuntu. Para más información, ver:Creo que una vez que haya establecido estas prioridades, puede ejecutar
para degradar todos sus paquetes a la versión en Ubuntu (los paquetes que no están en Ubuntu no se eliminarán). También ejecute
apt-get -f install
y no intente instalar ningún otro software hasta que se complete con éxito.Una vez que todo esté degradado, elimine el archivo de preferencias y
apt-get update
vuelva a ejecutarlo .fuente
man apt_preferences
.Solo hay una forma en que descubrí que estaba funcionando.
Paso 1: descargue el paquete deb de Python 2.7 desde aquí e instálelo
Use la herramienta dbkg para enumerar todo lo relacionado con Python
eliminar todo lo que se encuentra arriba
sudo dpkg --purge --force-all nombre del paquete
intenta hacerlo
te dará una lista de paquetes al final que están corruptos. Eliminarlos usando el paso 3
Repita los pasos 3-4 hasta que sudo apt upgrade no dé ningún error
Es posible que deba crear un enlace simbólico a / usr / bin / python usando la ubicación de python 2.7 que instaló como paquete deb. (
locate bin/python
) yln -s <path> /usr/bin/python
En este momento, Python debería estar reparado. Pero do-release-upgrade (lea el manual para saber cómo actualizar al último ubuntu, no LTS)
fuente