Как я могу устранить ошибку dpkg после удаления python3?

Я попытался удалить python3.5 из моего Ubuntu 16.04 с помощью команды sudo apt-get remove python3 в каталоге / usr / bin . Когда я попытался установить его снова, используя sudo apt-get install python3 , я получил следующую ошибку:

>> /usr/bin$ sudo apt-get remove python3
>> Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'python3' is not installed, so not removed
The following packages were automatically installed and are no longer required:
  gir1.2-glib-2.0 libexpat1-dev libgirepository-1.0-1 libpython3-dev libpython3.5-dev python-pip-whl python-pycurl python3.5-dev
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 61 not upgraded.


>> python3 -V
>> bash: /usr/bin/python3: No such file or directory

>> sudo apt-get install python3
>> Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gir1.2-glib-2.0 libexpat1-dev libgirepository-1.0-1 libpython3-dev libpython3.5-dev python-pip-whl python-pycurl python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  dh-python
Suggested packages:
  python3-doc python3-tk python3-venv
The following NEW packages will be installed:
  dh-python python3
0 upgraded, 2 newly installed, 0 to remove and 61 not upgraded.
Need to get 0 B/82.7 kB of archives.
After this operation, 436 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package dh-python.
(Reading database ... 180938 files and directories currently installed.)
Preparing to unpack .../dh-python_2.20151103ubuntu1.2_all.deb ...
Unpacking dh-python (2.20151103ubuntu1.2) ...
Selecting previously unselected package python3.
Preparing to unpack .../python3_3.5.1-3_amd64.deb ...
Unpacking python3 (3.5.1-3) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up python3 (3.5.1-3) ...
running python rtupdate hooks for python3.5...
/usr/share/python3/runtime.d/dh-python.rtupdate: 5: /usr/share/python3/runtime.d/dh-python.rtupdate: py3clean: not found
error running python rtupdate hook dh-python
dpkg: error processing package python3 (--configure):
 subprocess installed post-installation script returned error exit status 4
dpkg: dependency problems prevent configuration of dh-python:
 dh-python depends on python3:any (>= 3.3.2-2~); however:
  Package python3 is not configured yet.

dpkg: error processing package dh-python (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python3
 dh-python
E: Sub-process /usr/bin/dpkg returned an error code (1)


>> whereis python3
>> python3: /usr/bin/python3.6m /usr/bin/python3.6 /usr/bin/python3.5m /usr/bin/python3 /usr/lib/python3.5 /usr/lib/python3.6 /usr/lib/python3 /etc/python3.5 /etc/python3.6 /etc/python3 /usr/local/lib/python3.5 /usr/local/lib/python3.6 /usr/share/python3 /usr/share/man/man1/python3.1.gz

Пожалуйста, предложите решение.

0
задан 11 April 2021 в 12:27

1 ответ

Если необходимо убедиться в том, что упаковка полностью удалена, используйте опцию "очистка". Это также удалит все конфигурационные файлы.

sudo apt purge python3
sudo apt-get purge python3

Вы также можете использовать "*", но это удалит действительно все, что начинается с python3.

sudo apt purge python3*

Но, как упоминалось во многих комментариях , удаление системного Python - плохая идея. Таким образом, чтобы иметь лучший контроль над удалением проверить, что все еще установлено.

dpkg -l | grep -E '*python*' | less

Или же вы можете посмотреть непосредственно в каталоге установки.

ls /usr/bin/python

Таким образом, вы можете проверить, какие пакеты питона у вас установлены. И посмотрите их точное имя, если вы захотите их удалить.

Мне кажется, что когда вы запускаете:

sudo apt-get install python3

он пытается установить только пакет "dh-python", потому что все еще находит какой-нибудь установленный пакет python. Он также сообщает, что python3 ещё не сконфигурирован. Похоже, что он установлен, но из-за ваших предыдущих попыток удалить его конфигурация не в порядке, и поэтому он не может установить "dh-python". Поэтому правильное удаление пакета python3 с его конфигурационными файлами (который был ранее установлен вами, а не системой), должно позволить вам установить его корректно....

EDIT

Перед удалением Python скорее попробуйте:

sudo dpkg-reconfigure python3*

В вашем случае это будет:

sudo dpkg-reconfigure python3.5*

И если вы решите удалить python. (Версия, установленная вами, а не системой) убедитесь, что вы проверили, что от нее зависит. Здесь вы можете увидеть, как.

0
ответ дан 23 April 2021 в 23:25

Другие вопросы по тегам:

Похожие вопросы: