
Últimamente instalé Python 3.5 desde la fuente, pero creo que hice algo mal durante la instalación o la vinculación. Después de esto tengo problemas para instalar cualquier paquete de Ubuntu. Por ejemplo, add-apt-repository no funciona, incluso después de reinstalar software-properties-common.
$ add-apt-repository
bash: /usr/bin/add-apt-repository: /usr/bin/python3: bad interpreter: No such file or directory
Además, apt-get install me dará estos errores.
$ sudo apt-get install libraw-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libraw-dev
0 upgraded, 1 newly installed, 0 to remove and 229 not upgraded.
3 not fully installed or removed.
Need to get 382 kB/391 kB of archives.
After this operation, 1,588 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libraw-dev amd64 0.15.4-1 [382 kB]
Fetched 382 kB in 0s (651 kB/s)
Selecting previously unselected package libraw-dev:amd64.
(Reading database ... 295477 files and directories currently installed.)
Preparing to unpack .../libraw-dev_0.15.4-1_amd64.deb ...
Unpacking libraw-dev:amd64 (0.15.4-1) ...
Setting up python3.4 (3.4.3-1ubuntu1~14.04.5) ...
Could not find platform independent libraries <prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted
dpkg: error processing package python3.4 (--configure):
subprocess installed post-installation script returned error exit status 134
Setting up python3-commandnotfound (0.3ubuntu12) ...
/var/lib/dpkg/info/python3-commandnotfound.postinst: 6: /var/lib/dpkg/info/python3-commandnotfound.postinst: py3compile: not found
dpkg: error processing package python3-commandnotfound (--configure):
subprocess installed post-installation script returned error exit status 127
dpkg: error processing package software-properties-common (--configure):
package is in a very bad inconsistent state; you should
reinstall it before attempting configuration
Setting up libraw-dev:amd64 (0.15.4-1) ...
Errors were encountered while processing:
python3.4
python3-commandnotfound
software-properties-common
E: Sub-process /usr/bin/dpkg returned an error code (1)
Además, al intentar agregar ppa aparece el siguiente error
$ sudo add-apt-repository ppa:dhor/myway
sudo: unable to execute /usr/bin/add-apt-repository: No such file or directory
¿Qué está pasando? ¿Alguna idea?
Respuesta1
Primero, necesitas restaurar el núcleo de Python 3:
sudo apt install -f --reinstall python3 python3.4 python3-minimal python3.4-minimal libpython3.4-minimal
Si esto no funciona debido a paquetes a medio instalar que dependen de Python 3, descárguelos e instálelos manualmente:
cd /tmp apt-get download python3 python3.4 python3-minimal python3.4-minimal libpython3.4-minimal sudo dpkg -i *python3*.deb sudo apt install -f
Instale el
debsums
paquete y realice unaverificación de integridad del paquetepara verificar la integridad de los paquetes restantes y reinstalarlos si es necesario.
Respuesta2
Ubuntu viene con sus propias instalaciones de Python de las que depende para que funcionen las utilidades del sistema. Estas utilidades se basan en python
, python2
y python3
apuntan a estas instalaciones del sistema. Desafortunadamente, al compilar/instalar Python desde el código fuente, el estándar make install
instala nuevos binarios python
/ python2
(para Python 2.x) o python3
(para Python 3.x), lo que puede terminar ensombreciendo las instalaciones de Python del sistema y rompiendo cosas.
Una vez que haya reparado su sistema (es de esperar que la respuesta de David lo ayude a continuar), su Python compilado desde la fuente debe (re)instalarse con make altinstall
, lo que renunciará python3
e instalará el intérprete solo como la versión específica python3.5
. Esta es la forma segura de instalar su propio Python sin interferir con los Python del sistema, ya que no ocultará ninguno de los comandos en los que confían las utilidades del sistema.