Cancellato il binario di Python e non riesco a recuperare usando apt-get, cosa posso fare?


11

Bene. Sì. Volevo un nuovo inizio perché stavo avendo confusioni di dipendenza, quindi ho eseguito "whereis python" e ho letteralmente cancellato tutti i file e le directory che sono venuti fuori. Quindi, quando vado a eseguire apt-get install python, ovviamente ottengo molti errori. C'è un modo per reinstallare Python su Ubuntu senza semplicemente pulire?

Ecco l'output del tentativo di installare binario python:

root@ubuntu14-server:/home/kpoole# apt-get install python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python is already the newest version.
The following packages were automatically installed and are no longer required:
libexpat1-dev libpython-dev libpython2.7-dev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
15 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up python-chardet (2.0.1-2build2) ...
/var/lib/dpkg/info/python-chardet.postinst: 6: /var/lib/dpkg/info/python-chardet.postinst: pycompile: not found
dpkg: error processing package python-chardet (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up python-colorama (0.2.5-0.1ubuntu1) ...
/var/lib/dpkg/info/python-colorama.postinst: 6: /var/lib/dpkg/info/python-colorama.postinst: pycompile: not found
dpkg: error processing package python-colorama (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up python-distlib (0.1.8-1) ...
/var/lib/dpkg/info/python-distlib.postinst: 6: /var/lib/dpkg/info/python-distlib.postinst: pycompile: not found
dpkg: error processing package python-distlib (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up python-django (1.6.1-2ubuntu0.5) ...
/var/lib/dpkg/info/python-django.postinst: 6: /var/lib/dpkg/info/python-django.postinst: pycompile: not found
dpkg: error processing package python-django (--configure):
subprocess installed post-installation script returned error exit status 127
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-django-tables2:
python-django-tables2 depends on python-django (>= 1.4.5); however:
Package python-django is not configured yet.

dpkg: error processing package python-django-tables2 (--configure):
dependency problems - leaving unconfigured
Setting up python-six (1.5.2-1) ...
No apport report written because MaxReports is reached already
                                              /var/lib/dpkg/info/python-six.postinst: 6: /var/lib/dpkg/info/python-six.postinst: pycompile: not found
dpkg: error processing package python-six (--configure):
subprocess installed post-installation script returned error exit status 127
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-html5lib:
python-html5lib depends on python-six; however:
Package python-six is not configured yet.

dpkg: error processing package python-html5lib (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              Setting up python-lxml (3.3.3-1ubuntu0.1) ...
/var/lib/dpkg/info/python-lxml.postinst: 6: /var/lib/dpkg/info/python-lxml.postinst: pycompile: not found
dpkg: error processing package python-lxml (--configure):
subprocess installed post-installation script returned error exit status 127
No apport report written because MaxReports is reached already
                                              Setting up python-minimal (2.7.5-5ubuntu3) ...
/var/lib/dpkg/info/python-minimal.postinst: 4: /var/lib/dpkg/info/python-minimal.postinst: python2.7: not found
dpkg: error processing package python-minimal (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up python-pkg-resources (3.3-1ubuntu1) ...
No apport report written because MaxReports is reached already
                                              /var/lib/dpkg/info/python-pkg-resources.postinst: 6: /var/lib/dpkg/info/python-pkg-resources.postinst: pycompile: not found
dpkg: error processing package python-pkg-resources (--configure):
subprocess installed post-installation script returned error exit status 127
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-setuptools:
python-setuptools depends on python-pkg-resources (= 3.3-1ubuntu1); however:
Package python-pkg-resources is not configured yet.

dpkg: error processing package python-setuptools (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-urllib3:
python-urllib3 depends on python-six; however:
Package python-six is not configured yet.

dpkg: error processing package python-urllib3 (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-requests:
python-requests depends on python-chardet; however:
Package python-chardet is not configured yet.
python-requests depends on python-urllib3 (>= 1.7.1); however:
Package python-urllib3 is not configured yet.

dpkg: error processing package python-requests (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-pip:
python-pip depends on python-colorama; however:
Package python-colorama is not configured yet.
python-pip depends on python-distlib; however:
Package python-distlib is not configured yet.
python-pip depends on python-html5lib; however:
Package python-html5lib is not configured yet.
python-pip depends on python-pkg-resources; however:
Package python-pkg-resources is not configured yet.
python-pip depends on python-setuptools (>= 0.6c1); however:
Package python-setuptools is not configured yet.
python-pip depends on python-six; however:
Package python-six is not configured yet.
python-pip depends on python-requests; however:
Package python-requests is not configured yet.

dpkg: error processing package python-pip (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              dpkg: dependency problems prevent configuration of python-virtualenv:
python-virtualenv depends on python-pkg-resources; however:
Package python-pkg-resources is not configured yet.
python-virtualenv depends on python-setuptools; however:
Package python-setuptools is not configured yet.

dpkg: error processing package python-virtualenv (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                              Errors were encountered while processing:
python-chardet
python-colorama
python-distlib
python-django
python-django-tables2
python-six
python-html5lib
python-lxml
python-minimal
python-pkg-resources
python-setuptools
python-urllib3
python-requests
python-pip
python-virtualenv
E: Sub-process /usr/bin/dpkg returned an error code (1)

Dopo aver seguito il percorso suggerito da Ike:

root@ubuntu14-server:/home/kpoole# apt-get install --reinstall python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
python : Depends: python2.7 (>= 2.7.5-1~) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
root@ubuntu14-server:/home/kpoole# apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libexpat1-dev libpython-dev libpython2.7-dev
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
python python2.7
Suggested packages:
python-doc python-tk python2.7-doc
The following NEW packages will be installed:
python python2.7
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
14 not fully installed or removed.
Need to get 0 B/330 kB of archives.
After this operation, 1,042 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package python2.7.
(Reading database ... 73738 files and directories currently installed.)
Preparing to unpack .../python2.7_2.7.6-8_amd64.deb ...
Unpacking python2.7 (2.7.6-8) ...
Selecting previously unselected package python.
Preparing to unpack .../python_2.7.5-5ubuntu3_amd64.deb ...
Unpacking python (2.7.5-5ubuntu3) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...
Setting up python-minimal (2.7.5-5ubuntu3) ...
/var/lib/dpkg/info/python-minimal.postinst: 4: /var/lib/dpkg/info/python-minimal.postinst: python2.7: not found
dpkg: error processing package python-minimal (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up python2.7 (2.7.6-8) ...
/var/lib/dpkg/info/python2.7.postinst: 9: /var/lib/dpkg/info/python2.7.postinst: python2.7: not found
dpkg: error processing package python2.7 (--configure):
subprocess installed post-installation script returned error exit status 127
dpkg: dependency problems prevent configuration of python:
python depends on python2.7 (>= 2.7.5-1~); however:
Package python2.7 is not configured yet.
python depends on python-minimal (= 2.7.5-5ubuntu3); however:
Package python-minimal is not configured yet.

dpkg: error processing package python (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-chardet:
python-chardet depends on python (>= 2.7); however:
Package python is not configured yet.
python-chardet depends on python (<< 2.8); however:
Package python is not configured yet.
python-chardet depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.

dpkg: error processing package python-chardet (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-colorama:
python-colorama depends on python (>= 2.7); however:
Package python is not configured yet.
python-coNo apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
        No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
No apport report written because MaxReports is reached already
                    lorama depends on python (<< 2.8); however:
Package python is not configured yet.
python-colorama depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.

dpkg: error processing package python-colorama (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-distlib:
python-distlib depends on python:any (<< 2.8); however:
Package python is not configured yet.
python-distlib depends on python:any (>= 2.7.5-5~); however:
Package python is not configured yet.

dpkg: error processing package python-distlib (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-django:
python-django depends on python (>= 2.7); however:
Package python is not configured yet.
python-django depends on python (<< 2.8); however:
Package python is not configured yet.
python-django depends on python:any (>= 2.7.1-0ubuntu2); however:
Package pythNo apport report written because MaxReports is reached already
on is not configured yet.

dpkg: error processing package python-django (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-django-tables2:
python-django-tables2 depends on python (>= 2.7); however:
Package python is not configured yet.
python-django-tables2 depends on python (<< 2.8); however:
Package python is not configured yet.
python-django-tables2 depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.
python-django-tables2 depends on python-django (>= 1.4.5); however:
Package python-django is not configured yet.

dpkg: error processing package python-django-tables2 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-six:
python-six depends on python (>= 2.7); however:
Package python is not configured yet.
python-six depends on python (<< 2.8); however:
Package python is not configured yet.
python-six depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.

dpkg: error processing package python-six (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-html5lib:
python-html5lib depends on python:any (<< 2.8); however:
Package python is not configured yet.
python-html5lib depends on python:any (>= 2.7.5-5~); however:
Package python is not configured yet.
python-html5lib depends on python-six; however:
Package python-six is not configured yet.

dpkg: error processing package python-html5lib (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-lxml:
python-lxml depends on python (>= 2.7); however:
Package python is not configured yet.
python-lxml depends on python (<< 2.8); however:
Package python is not configured yet.
python-lxml depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.

dpkg: error processing package python-lxml (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-pkg-resources:
python-pkg-resources depends on python:any (>= 2.7); however:
Package python is not configured yet.
python-pkg-resources depends on python:any (<< 2.8); however:
Package python is not configured yet.

dpkg: error processing package python-pkg-resources (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-setuptools:
python-setuptools depends on python:any (>= 2.7); however:
Package python is not configured yet.
python-setuptools depends on python:any (<< 2.8); however:
Package python is not configured yet.
python-setuptools depends on python-pkg-resources (= 3.3-1ubuntu1); however:
Package python-pkg-resources is not configured yet.

dpkg: error processing package python-setuptools (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-urllib3:
python-urllib3 depends on python:any (>= 2.7.5-5~); however:
Package python is not configured yet.
python-urllib3 depends on python:any (<< 2.8); however:
Package python is not configured yet.
python-urllib3 depends on python-six; however:
Package python-six is not configured yet.

dpkg: error processing package python-urllib3 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-requests:
python-requests depends on python:any (>= 2.7.5-5~); however:
Package python is not configured yet.
python-requests depends on python:any (<< 2.8); however:
Package python is not configured yet.
python-requests depends on python-chardet; however:
Package python-chardet is not configured yet.
python-requests depends on python-urllib3 (>= 1.7.1); however:
Package python-urllib3 is not configured yet.

dpkg: error processing package python-requests (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python-pip:
python-pip depends on python (>= 2.7); however:
Package python is not configured yet.
python-pip depends on python (<< 2.8); however:
Package python is not configured yet.
python-pip depends on python:any (>= 2.7.1-0ubuntu2); however:
Package python is not configured yet.
python-pip depends on python-colorama; however:
Package python-colorama is not configured yet.
python-pip depends on python-distlib; however:
Package python-distlib is not configured yet.
python-pip depends on python-html5lib; however:
Package python-html5lib is not configured yet.
python-pip depends on python-pkg-resources; however:
Package python-pkg-resources is not configured yet.
python-pip depends on python-setuptools (>= 0.6c1); however:
Package python-setuptools is not configured yet.
python-pip depends on python-six; however:
Package python-six is not configured yet.
python-pip depends on python-requests; however:
Package python-requests is not c
dpkg: error processing package python-pip (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
python-minimal
python2.7
python
python-chardet
python-colorama
python-distlib
python-django
python-django-tables2
python-six
python-html5lib
python-lxml
python-pkg-resources
python-setuptools
python-urllib3
python-requests
python-pip
E: Sub-process /usr/bin/dpkg returned an error code (1)

python : Depends: python2.7 (>= 2.7.5-1~) but it is not going to be installed. Penso che i tuoi precedenti conflitti di dipendenza ti stiano ancora preoccupando. Puoi anche dare un output didpkg -l | grep python
cnvzmxcvmcx il

Risposte:


20

In futuro non farlo. Non rimuovere manualmente (o altrimenti pasticciare) i file installati tramite gli strumenti di gestione dei pacchetti (a meno che non siano esplicitamente impostati per questo tipo di file di configurazione, ecc.).

Detto questo se non sei in grado (e sembra che questo potrebbe essere il caso) di utilizzare apt-getper recuperare da questa situazione perché ci sono parti del processo che prevedono che Python sia già installato, allora hai alcune opzioni (non tutte funzionerà necessariamente).

È possibile recuperare .debmanualmente i file Python (e relativi) e utilizzare dpkgper installarli manualmente (sarà necessario risolvere manualmente l'ordine di dipendenza per assicurarsi che funzioni correttamente). Qualcosa di simile a:

apt-get download python2.7-minimal ## at least this package is necessary
sudo touch /usr/bin/python2.7 && sudo chmod +x /usr/bin/python2.7
sudo dpkg --unpack python2.7-minimal*

È necessario verificare la presenza di altri file binari mancanti, ad esempio pycompile, e applicare la stessa soluzione.

Successivamente, si consiglia di controllare il database dpkg alla ricerca di pacchetti non configurati, semi-configurati e appena decompressi:

sudo dpkg --check

Leggi i messaggi e applica le correzioni, ma normalmente lo chiederebbe sudo dpkg --configure -a. Un sudo apt-get -f installpotrebbe aiutare a seconda della situazione.

Potrebbe anche essere possibile utilizzare una modalità di ripristino del supporto di installazione (o reinstallazione) per risolvere il problema.


4

C'è un modo per reinstallare Python su Ubuntu senza semplicemente pulire?

Sì. Reinstalla senza formattazione.

Sarà anche il metodo più rapido per risolvere questo problema poiché probabilmente hai già un DVD live.


3
La reinstallazione di Ubuntu sembra un po 'esagerata in questo caso.
Ike,

2
Poiché quasi tutto dipende da Python e "apt" non funzionerà più (a causa delle dipendenze da Python), qualsiasi altro metodo richiederà molto più tempo. Una reinstallazione senza formato richiede circa 10, 15 minuti su una macchina corrente. @ike
Rinzwind il

3
apt dovrebbe funzionare con altri pacchetti, ma non con Python. Non è troppo difficile risolvere questo problema reinstallando ciascun pacchetto.
Ike,

1
L'eliminazione di un sistema binario può essere catastrofica, ma non è la fine del mondo. Puoi rimuoverlo rme recuperarlo facilmente . Python è solo una passeggiata nel parco.
Braiam,

1

Apri un terminale e digita i seguenti comandi:

Primo tentativo

sudo apt-get -f install 

Se non funziona, prova

sudo dpkg --configure -a 

Se hai ancora problemi, esegui

sudo apt-get install --reinstall python python-chardet python-colorama python-distlib python-django python-django-tables2 python-six python-html5lib python-lxml python-minimal python-pkg-resources python-setuptools python-urllib3 python-requests python-pip python-virtualenv

Come ultima risorsa, potrebbe essere necessario rimuovere questi pacchetti con il comando seguente e quindi reinstallare questi pacchetti utilizzando il comando sopra. In questo caso, dovrai prestare molta attenzione. Ci sarà un elenco di pacchetti disinstallati con il seguente comando. Dovrai copiare questo elenco e incollarlo in gedit. Con gedit aperto e l'elenco dei pacchetti incollati in gedit, premi ctrl+ he inserisci \ n seguito da due spazi in "Cerca" e uno spazio in "Sostituisci con" per rimuovere tutti i paragrafi e gli spazi extra prima di fare clic su Sostituisci tutto in modo che il tuo list contiene un elenco di pacchetti separati solo da spazi singoli.

sudo apt-get purge python-chardet python-colorama python-distlib python-django python-django-tables2 python-six python-html5lib python-lxml python-minimal python-pkg-resources python-setuptools python-urllib3 python-requests python-pip python-virtualenv

Infine, esegui: sudo apt-get installe incolla l'elenco dei pacchetti da gedit per reinstallare tutto.


Sono quasi certo che tutti i pacchetti python- * siano inclusi nel meta-pacchetto python. OP non avrebbe bisogno di stabilire e mantenere un elenco di pacchetti da (un) / installare. apt-get install --reinstall pythondovrebbe coprirlo.
Amanthethy,

@amanthethy la "lista" di cui parlo sono le centinaia di altri pacchetti che possono anche essere disinstallati come unità, tutti gli ambiti, gestore degli account ecc ... Inoltre, posso citarne alcuni che non sono inclusi come python pip per esempio .
mchid,

1
No, non farà male a nessuno - a parte lo strano tunnel del carpello - ma non è necessario. Inoltre, python-pip è un gestore di pacchetti per i programmi python. È un'applicazione creata usando Python e non una caratteristica del linguaggio stesso.
amanthethy,

1
sudo apt-get install --reinstall ubuntu-desktopcoprirà tutti gli extra che hai citato. [unità, ambiti, pitone, gestore degli account, ecc.]
amanthethy,

1
Nessun problema amico. I voti negativi non significano molto per me fintanto che saremo in grado di aiutare l'OP :)
amanthethy,

0

È necessario rimuovere ogni pacchetto che ti dà difficoltà, quindi reinstallarli.

Vedere /ubuntu//a/32899/176376 per la rimozione senza rimuovere le dipendenze.

sudo dpkg -r --force-depends "package"

sudo apt-get install "package"

È necessario rimuovere prima tutti i problemi, quindi installarli di nuovo.

Eseguire una sudo apt-get install -fe sudo dpkg --configure -aogni pochi comandi.


0

Vedo che hai errori come questo:

python2.7: not found

Significa che non è possibile trovare l'eseguibile di Python 2.7. Ho usato questi comandi per trovare il pacchetto che lo contiene (che probabilmente non funzionerebbe sul tuo sistema rotto, comunque)

$ which python2.7
/usr/bin/python2.7
$ dpkg -S /usr/bin/python2.7
python2.7-minimal: /usr/bin/python2.7

Devi reinstallarlo, ma prima devi passare attraverso le sue dipendenze. Utilizzare questi comandi per elencarli:

$ apt-cache depends python2.7-minimal
python2.7-minimal
  Depends: libpython2.7-minimal
  Depends: zlib1g
  PreDepends: libc6
  Suggests: binfmt-support
    binfmt-support:i386
  Recommends: python2.7
  Conflicts: binfmt-support
  Conflicts: binfmt-support:i386
  Replaces: python2.7
  Replaces: python2.7:i386
  Conflicts: python2.7-minimal:i386

libpython2.7-minimal è probabilmente danneggiato. Quindi ti consiglio di rilasciare prima:

sudo apt-get install --reinstall libpython2.7-minimal

poi:

sudo apt-get install --reinstall python2.7-minimal

e poi si spera tuo

sudo apt-get -f install

avrà successo.


-1

Questo è il comportamento previsto. L'eliminazione dei file non equivale alla disinstallazione di un pacchetto o programma.

Hai eliminato tutte le cose relative a Python dalla tua installazione, ma il gestore dei pacchetti non lo sa. Quando vai di nuovo a installare Python, apt si aspetta che tutti quei file siano ancora lì e non si preoccupa di provare a scaricarli di nuovo. Per quanto riguarda apt, tutto il python è ancora installato; Non l'hai mai detto diversamente.

Puoi provare quanto segue per tentare di correggere questo:
sudo apt-get install --reinstall python

In futuro, disinstallare i pacchetti utilizzando apt-get removeo apt-get purgeo graficamente da Ubuntu Software Center.


3
Un'eliminazione di Python disinstalla molte dipendenze, in cui la reinstallazione non reinstalla tutte.
oldfred,

1
Hai ragione solo fino al secondo paragrafo. Il tuo metodo di "correzione" del problema potrebbe semplicemente rimuovere la maggior parte dei pacchetti del sistema OP.
Braiam,

@Braiam Hai ragione. Ho dato per scontato che il pacchetto apt-get remove può disinstallare i pacchetti che il pacchetto di installazione apt-get non ripristinerà necessariamente. Ho modificato, ma sentiti libero di correggerlo se sono ancora spento.
amanthethy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.