Видалений пітон бінарний і не може відновитись за допомогою apt-get, що я можу зробити?


11

Ну. Так. Я хотів по-новому почати, тому що в мене виникли плутанини залежності, тому я побіг "де python" і буквально стер усіх файлів і каталогів, що з'явилися. Тоді, коли я йду запускати apt-get install python, я, звичайно, отримую багато помилок. Чи є спосіб перевстановити python на ubuntu, не роблячи чисту чистку?

Ось результат спроби встановити бітону 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)

Після проходження маршруту, запропонованого 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. Я думаю, що ваші попередні конфлікти щодо залежності все ще турбують вас. Чи можете ви також дати вихідdpkg -l | grep python
cnvzmxcvmcx

Відповіді:


20

Надалі цього не робіть. Не видаляйте вручну (або інакше возиться) з будь-якими файлами, встановленими за допомогою інструментів управління пакунками (якщо вони явно не встановлені для цього, наприклад, файли конфігурації тощо).

Це буде сказано, якщо ви не можете (і, схоже, це може бути), щоб використовувати apt-getдля відновлення після цієї ситуації, оскільки є частини процесу, які очікують, що python уже встановлений, то у вас є кілька варіантів (не всі з яких обов’язково спрацює).

Ви можете отримати .debфайли python (та пов'язані з ними) вручну та attmempt, щоб використовувати їх dpkgдля встановлення вручну (вам потрібно буде вручну вирішити наказ про залежність, щоб переконатися, що це працює правильно). Щось на зразок:

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*

Ви повинні перевірити наявність інших двійкових файлів, наприклад pycompile, та застосувати те саме рішення.

Після цього рекомендується перевірити базу даних dpkg, шукаючи неконфігуровані, напівконфігуровані та просто розпаковані пакети:

sudo dpkg --check

Прочитайте повідомлення та застосуйте виправлення, але зазвичай це вимагатиме sudo dpkg --configure -a. А sudo apt-get -f installможе допомогти залежно від ситуації.

Ви можете також скористатися режимом відновлення (або перевстановлення) носія для встановлення.


4

Чи є спосіб перевстановити python на ubuntu, не роблячи чисту чистку?

Так. Перевстановіть без форматування.

Це також буде найшвидшим способом виправити це, оскільки ви, мабуть, вже маєте Live DVD.


3
Перевстановлення ubuntu здається в цьому випадку трохи перебільшеним.
ike

2
Оскільки майже все залежить від python, а "apt" більше не працюватиме (через залежність python), будь-який інший метод займе набагато більше часу. Повторна установка без формату займає 10–15 хвилин на поточній машині. @ike
Rinzwind

3
apt повинен працювати для інших пакетів, тільки не для python. Виправити це не надто складно, перевстановивши кожен пакет.
ike

1
Видалення системного двійкового файлу може бути катаклізмом, але це не кінець світу. Ви можете rmїї легко видалити та відновити . Пітон - це просто прогулянка по парку.
Брайам

1

Відкрийте термінал і введіть наступні команди:

Спочатку спробуйте

sudo apt-get -f install 

Якщо це не працює, спробуйте

sudo dpkg --configure -a 

Якщо у вас все-таки залишилися проблеми, запустіть

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

В крайньому випадку, можливо, вам доведеться видалити ці пакети за допомогою наступної команди, а потім перевстановити ці пакети за допомогою наведеної вище команди. Якщо це так, вам потрібно буде приділити дуже пильну увагу. Буде список видалених пакетів із наступною командою. Вам потрібно буде скопіювати цей список і вставити його в gedit. З відкритим gedit та списком пакетів, вставлених у gedit, натисніть ctrl+ hта введіть \ n, а потім два пробіли в "Пошук" та один пробіл у "Замінити на", щоб видалити всі абзаци та додаткові пробіли перед натисканням кнопки "Замінити всі", щоб ваш список містить перелік пакунків, розділених лише окремими пробілами.

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

Нарешті, запустіть: sudo apt-get installі вставте у список пакунків від gedit, щоб все знову встановити.


Я майже впевнений, що всі пакети python- * включені в метапакет python. ОП не потрібно було б встановлювати та вести список пакетів для (не) / встановлення. apt-get install --reinstall pythonмає покрити його.
amanthethy

@amanthethy "список", про який я згадую, - це сотні інших пакетів, які також можна видалити, такі як єдність, всі сфери застосування, менеджер облікових записів тощо ... Також я можу назвати кілька таких, які не включені, наприклад, python pip, наприклад .
mchid

1
Ні, це нікому не зашкодить - окрім чудернацького тунельного каналу - але це зайве. Також python-pip - це менеджер пакунків для програм python. Його додаток, побудоване за допомогою python, а не особливість самої мови.
amanthethy

1
sudo apt-get install --reinstall ubuntu-desktopбуде охоплювати всі ті згадані вами додаткові послуги. [єдність, сфери дії, пітон, менеджер рахунків тощо]
amanthethy

1
Не хвилюйся чувак. Показники для мене мало значать, якщо ми здатні допомогти ОП :)
amanthethy

0

Ви повинні видалити кожен пакет, який створює труднощі, а потім перевстановити їх.

Див. Https://askubuntu.com/a/32899/176376 щодо видалення без усунення залежностей.

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

sudo apt-get install "package"

Спершу слід усунути всі проблемні проблеми, а потім знову встановити їх.

Виконайте команди a sudo apt-get install -fі sudo dpkg --configure -aкожні кілька команд.


0

Я бачу, у вас є такі помилки:

python2.7: not found

Це означає, що виконуваний файл python 2.7 неможливо знайти. Я використовував цю команду, щоб знайти пакет, що містить її (який, мабуть, не працює у вашій зламаній системі, однак)

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

Потрібно перевстановити його, але спочатку потрібно пройти його залежності. Використовуйте ці команди, щоб перелічити їх:

$ 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-мінімальний, ймовірно, пошкоджений. Тож рекомендую спочатку випустити:

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

тоді:

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

і тоді, сподіваємось, ваш

sudo apt-get -f install

вдасться.


-1

Така очікувана поведінка. Видалення файлів - це не те саме, що видалення пакета чи програми.

Ви видалили всі файли, пов'язані з python, зі своєї інсталяції, але менеджер пакунків цього не знає. Коли ви знову переходите до встановлення Python, apt очікує, що всі ці файли все ще будуть там, і не намагається повторно завантажити їх. Що стосується apt, то весь пітон все ще встановлений; Ти ніколи не казав цього інакше.

Ви можете спробувати наступне, щоб спробувати виправити це:
sudo apt-get install --reinstall python

Надалі, видаляти пакети , використовуючи apt-get removeабо apt-get purgeабо графічно з Ubuntu Software Center.


3
Чистка python не встановлює безліч залежностей, де перевстановлення не перевстановить усі ці.
Олдфред

1
Ви маєте рацію лише до другого абзацу. Ваш метод "виправлення" проблеми може просто видалити більшість пакетів системи ОП.
Брайам

@Braiam Ви маєте рацію. Я сприйняв як належне, що пакет apt-get remove може видалити пакунки, які пакет apt-get install не обов’язково відновить. Я відредагував, але не соромтесь виправити це, якщо я все ще не в роботі.
amanthethy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.