Basta ya de indagar por todo internet porque llegaste al espacio adecuado, tenemos la solución que deseas pero sin complicaciones.
Solución:
Después de horas de lucha y cientos de tiempo de instalación / desinstalación de paquetes de Python, parece que pude instalar paquetes de Python, incluidos python-minimal
. Déjame compartir mi historia de éxito.
-
Al principio, ni siquiera pude desinstalar python-minimal. Cada vez que mostraba el error que mencioné en mi pregunta durante la instalación / desinstalación. Incluso lo intenté
sudo apt-get -f install
pero sin ganancia alguna. De alguna manera descubrí que solo se puede desinstalar con algunos otros paquetes juntos. Siguiendo los comandos, solía completar la eliminaciónpython-minimal
bultos rotos y residuales:sudo apt-get autoremove libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python-minimal python2.7 python2.7-minimal
Esto eliminaría todos los paquetes de Python y los softwares que dependen de Python. Sé que esto fue extremo, pero créanme, no tenía otra opción.
sudo apt-get remove --purge $(sudo dpkg -l | egrep "^(rc|iU)" | awk 'print $2' | tr 'n' ' ')
Para eliminar el resto de paquetes residuales y borken si los hubiera.
Nota: Copié la lista de paquetes que se eliminaron en este paso. ¡Sabía que lo necesitaría de nuevo!
-
A continuación, busqué en todos los lugares donde se instaló python2.7 y eliminé todos los archivos y directorios de Python predeterminado. Deseaba no tener que eliminarlos manualmente, pero no tenía otra opción:
sudo find / -iname python2.7 /etc/python2.7 /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/lib/python2.7 /usr/bin/python2.7.13/lib/python2.7 /usr/bin/python2.7.13/bin/python2.7 /usr/bin/python2.7.13/include/python2.7 /usr/bin/python2.7 /usr/include/x86_64-linux-gnu/python2.7 /usr/include/python2.7 /usr/share/doc/python2.7 /usr/share/binfmts/python2.7 /usr/share/lintian/overrides/python2.7 /proc/sys/fs/binfmt_misc/python2.7 /var/lib/binfmts/python2.7
No tuve que eliminar todos los archivos / directorios enumerados anteriormente y eliminé solo la versión predeterminada:
sudo rm -rf /etc/python2.7 /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/lib/python2.7
Había otras versiones de Python y no estaban causando ningún problema. Creo que la búsqueda puede variar según el usuario y
whereis python
El comando se puede usar para instalar la ruta de Python predeterminada. -
A continuación, instalé Python con éxito:
sudo apt-get install python Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python-minimal python2.7 python2.7-minimal Suggested packages: python-doc python-tk python2.7-doc The following NEW packages will be installed: libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal 0 upgraded, 7 newly installed, 0 to remove and 21 not upgraded. Need to get 0 B/3,877 kB of archives. After this operation, 16.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y Selecting previously unselected package libpython2.7-minimal:amd64. (Reading database ... 250996 files and directories currently installed.) Preparing to unpack .../libpython2.7-minimal_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../python2.7-minimal_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking python2.7-minimal (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package python-minimal. Preparing to unpack .../python-minimal_2.7.12-1~16.04_amd64.deb ... Unpacking python-minimal (2.7.12-1~16.04) ... Selecting previously unselected package libpython2.7-stdlib:amd64. Preparing to unpack .../libpython2.7-stdlib_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package python2.7. Preparing to unpack .../python2.7_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking python2.7 (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package libpython-stdlib:amd64. Preparing to unpack .../libpython-stdlib_2.7.12-1~16.04_amd64.deb ... Unpacking libpython-stdlib:amd64 (2.7.12-1~16.04) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for desktop-file-utils (0.22-1ubuntu5.1) ... Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ... Processing triggers for mime-support (3.59ubuntu1) ... Setting up libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.3) ... Setting up python2.7-minimal (2.7.12-1ubuntu0~16.04.3) ... Linking and byte-compiling packages for runtime python2.7... Setting up python-minimal (2.7.12-1~16.04) ... Selecting previously unselected package python. (Reading database ... 251742 files and directories currently installed.) Preparing to unpack .../python_2.7.12-1~16.04_amd64.deb ... Unpacking python (2.7.12-1~16.04) ... Processing triggers for doc-base (0.10.7) ... Processing 1 added doc-base file... Registering documents with scrollkeeper... Processing triggers for man-db (2.7.5-1) ... Setting up libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.3) ... Setting up python2.7 (2.7.12-1ubuntu0~16.04.3) ... Setting up libpython-stdlib:amd64 (2.7.12-1~16.04) ... Setting up python (2.7.12-1~16.04) ...
NOTA: Esto solo instaló los paquetes de Python mínimos y muy necesarios. Es posible que aún deba instalar todos los demás paquetes de Python que se desinstalaron en el primer paso.
Algunas notas adicionales:
Los segundos pasos eliminaron también los paquetes de Python de terceros que se instalaron globalmente usando pepita. Desafortunadamente, no tenía la lista y terminé con algunos problemas que mis proyectos los necesitan. Pero eso no fue un gran problema ya que todos mis proyectos tenían su propio archivo python requirements.txt. Pero aún así les sugiero a todos que guarden los paquetes de Python en un archivo antes de comenzar el primer paso. El siguiente comando puede ser útil:
pip freeze > python_pip_packages.txt
También tuve que eliminar archivos y directorios pip (similar a cómo eliminé los archivos y directorios predeterminados de Python) y reinstalé pip:
sudo apt-get install python-pip # installing pip
sudo pip install --upgrade pip # upgrading pip to latest version using pip itself
sudo pip install -r python_pip_packages.txt # re-installing all 3rd party python packages which were removed in 2nd step.
Espero que otros no sufran como yo 🙂
Para aquellos que siguen atascados mientras ejecutan comandos (donde constantemente se queja de python o cualquier otro paquete), pasé por lo mismo y solucioné ese problema eliminando la información de
/var/lib/dpkg/info/
Después de eso, debería permitirle continuar con las instalaciones / actualizaciones / actualizaciones