APT сломан из-за поврежденных библиотек Python

Вопрос или проблема

Я на Debian 12. Я сделал ошибку новичка, устанавливая библиотеки Python (numpy, pandas, sklearn) с помощью apt, и теперь, когда я пытаюсь установить или удалить что-либо, я получаю эту ошибку.

При установке

thedude@192:~$ sudo apt install sl
[sudo] пароль для thedude: 
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Вам может потребоваться запустить 'apt --fix-broken install', чтобы исправить это. 
Следующие пакеты имеют неудовлетворенные зависимости:
 python3-bottleneck : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
 python3-contourpy : Зависит: python3-numpy, но он не будет установлен
 python3-matplotlib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
 python3-numexpr : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                   Зависит: python3-numpy-abi9
 python3-pandas : Зависит: python3-numpy, но он не будет установлен
                  Зависит: python3-numpy (>= 1:1.18.5~), но он не будет установлен или
                           python3 (< 3.10), но будет установлен 3.11.2-1+b1
 python3-pandas-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
                      Рекомендует: python3-numba, но он не будет установлен
 python3-pythran : Зависит: python3-numpy, но он не будет установлен
 python3-scipy : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                 Зависит: python3-numpy-abi9
 python3-sklearn : Зависит: python3-numpy, но он не будет установлен
 python3-sklearn-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                       Зависит: python3-numpy-abi9
 python3-tables : Зависит: python3-numpy, но он не будет установлен
 python3-tables-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).

При удалении:

thedude@192:~$ sudo apt remove python3-numpy
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Пакет 'python3-numpy' не установлен, поэтому не удален
Вам может потребоваться запустить 'apt --fix-broken install', чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
 python3-bottleneck : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
 python3-contourpy : Зависит: python3-numpy, но он не будет установлен
 python3-matplotlib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
 python3-numexpr : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                   Зависит: python3-numpy-abi9
 python3-pandas : Зависит: python3-numpy, но он не будет установлен
                  Зависит: python3-numpy (>= 1:1.18.5~), но он не будет установлен или
                           python3 (< 3.10), но будет установлен 3.11.2-1+b1
 python3-pandas-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
                      Рекомендует: python3-numba, но он не будет установлен
 python3-pythran : Зависит: python3-numpy, но он не будет установлен
 python3-scipy : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                 Зависит: python3-numpy-abi9
 python3-sklearn : Зависит: python3-numpy, но он не будет установлен
 python3-sklearn-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                       Зависит: python3-numpy-abi9
 python3-tables : Зависит: python3-numpy, но он не будет установлен
 python3-tables-lib : Зависит: python3-numpy (>= 1:1.22.0), но он не будет установлен
                      Зависит: python3-numpy-abi9
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).

Я попробовал apt fix-broken install, как предлагает сообщение об ошибке.

thedude@192:~$ sudo apt --fix-broken install
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Исправление зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не нужны:
  fonts-lato icu-devtools libclang-cpp14 libffi-dev libicu-dev libllvm14
  libncurses-dev libpfm4 libtinfo-dev libxml2-dev libz3-dev
  llvm-14-linker-tools llvm-14-runtime llvm-14-tools nss-plugin-pem
  python3-yaml sphinx-rtd-theme-common
Используйте 'sudo apt autoremove', чтобы удалить их.
Следующие дополнительные пакеты будут установлены:
  python3-numpy
Рекомендуемые пакеты:
  gfortran
Следующие НОВЫЕ пакеты будут установлены:
  python3-numpy
0 обновлено, 1 ново установлено, 0 удалено и 27 не обновлено.
Необходимо загрузить 5,209 кБ архивов.
После этой операции будет использовано дополнительно 28.5 МБ дискового пространства.
Вы хотите продолжить? [Y/n] Y
Err:1 http://deb.debian.org/debian bookworm/main amd64 python3-numpy amd64 1:1.24.2-1
  404  Не найдено [IP: 146.75.54.132 80]
E: Не удалось получить http://deb.debian.org/debian/pool/main/n/numpy/python3-numpy_1.24.2-1_amd64.deb  404  Не найдено [IP: 146.75.54.132 80]
E: Не удалось получить некоторые архивы, возможно, запустите apt-get update или попробуйте с --fix-missing?

Я понимаю, что библиотека, которая вызывает ошибку, – это numpy. Я узнал, что она установлена, набрав:

thedude@192:~$ sudo apt list python3-numpy
Перечисление... Готово
python3-numpy/stable 1:1.24.2-1 amd64

Но, как видно, я не могу ее удалить. Я пробовал обновить, а также --fix-missing и также autoremove

thedude@192:~$ sudo apt --fix-broken install --fix-missing
[sudo] пароль для thedude: 
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Исправление зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не нужны:
  fonts-lato icu-devtools libclang-cpp14 libffi-dev libicu-dev libllvm14
  libncurses-dev libpfm4 libtinfo-dev libxml2-dev libz3-dev
  llvm-14-linker-tools llvm-14-runtime llvm-14-tools nss-plugin-pem
  python3-yaml sphinx-rtd-theme-common
Используйте 'sudo apt autoremove', чтобы удалить их.
Следующие дополнительные пакеты будут установлены:
  python3-numpy
Рекомендуемые пакеты:
  gfortran
Следующие НОВЫЕ пакеты будут установлены:
  python3-numpy
0 обновлено, 1 ново установлено, 0 удалено и 27 не обновлено.
Необходимо загрузить 5,209 кБ архивов.
После этой операции будет использовано дополнительно 28.5 МБ дискового пространства.
Вы хотите продолжить? [Y/n] Y
Err:1 http://deb.debian.org/debian bookworm/main amd64 python3-numpy amd64 1:1.24.2-1
  404  Не найдено [IP: 146.75.54.132 80]
Не удалось исправить отсутствующие пакеты.
E: Не удалось получить http://deb.debian.org/debian/pool/main/n/numpy/python3-numpy_1.24.2-1_amd64.deb  404  Не найдено [IP: 146.75.54.132 80]
E: Установка прервана.

Попробовал update, работает нормально, но не дает результата.

Есть ли что-то, что я могу сделать, чтобы исправить это?

Суть ошибки “404 Не найдено”. Это код состояния HTTP, который указывает, что запрашиваемый ресурс не найден на сервере. В контексте apt-get это означает, что пакет, к которому вы пытаетесь получить доступ, не найден на сервере репозитория.

Err:1 http://deb.debian.org/debian bookworm/main amd64 python3-numpy amd64 1:1.24.2-1
  404  Не найдено [IP: 146.75.54.132 80]

Запустите sudo apt update, а затем попробуйте снова установить python3-numpy.

Также хорошей привычкой является запуск sudo apt update, а затем sudo apt-get upgrade перед установкой пакетов.

Ответ или решение

Решение проблемы с APT из-за поврежденных библиотек Python на Debian 12

Введение

Проблема, с которой вы столкнулись, связана с несовместимостью пакетов Python, установленными из репозиториев APT на вашей системе Debian 12. Ошибки при установке и удалении пакетов вызываются отсутствующими зависимостями, прежде всего — библиотекой python3-numpy. Давайте шаг за шагом разберем, как можно исправить ситуацию и восстановить работоспособность вашего пакетного менеджера.

Признаки проблемы

Как видно из ваших сообщений об ошибках, APT не может установить или удалить пакеты из-за отсутствующих зависимостей. Сообщения об ошибках четко указывают, что:

  1. python3-numpy не установлен, но требуется для многих других пакетов.
  2. Попытка исправить поврежденные зависимости приводит к ошибке 404, указывающей на то, что пакет недоступен в используемых репозиториях.

Шаги для решения проблемы

1. Обновление списка репозиториев

Первоначально, необходимо убедиться, что ваш список доступных пакетов актуален. Выполните команду:

sudo apt update

Это позволит вашему APT получить актуальные данные о доступных пакетах.

2. Установка python3-numpy

После обновления списка репозиториев попробуйте установить python3-numpy, используя следующую команду:

sudo apt install python3-numpy

Если все пройдет успешно, это должно устранить проблемы с зависимостями.

3. Исправление поврежденных зависимостей

Если установка python3-numpy все еще вызывает ошибки, попробуйте снова выполнить команду:

sudo apt --fix-broken install

Эта команда рекомендуется, когда у вас есть поврежденные пакеты, и обработает ситуацию автоматически.

4. Удаление и переустановка проблемных пакетов

Если ни один из вышеперечисленных шагов не помог, можно попробовать удалить проблемные пакеты вручную. Сначала выполните:

sudo dpkg --remove --force-remove-reinstreq python3-numpy

Это позволит принудительно удалить пакет. Затем снова попробуйте установить его:

sudo apt install python3-numpy

5. Проверка репозиториев

Если вы продолжаете получать ошибки 404, возможно, некоторые репозитории больше недоступны. Откройте файл списка источников:

sudo nano /etc/apt/sources.list

Убедитесь, что строки с репозиториями не содержат устаревших или недоступных ссылок. Ваша строка может выглядеть так:

deb http://deb.debian.org/debian bookworm main contrib non-free

После редактирования файла выполните sudo apt update.

6. Использование альтернативных зеркал

Если проблемы с загрузкой пакетов продолжаются, вы можете попробовать использовать другие зеркала Debian. Замените текущий URL на другой, например:

deb http://mirrors.edge.kernel.org/debian bookworm main contrib non-free

Затем не забудьте выполнить sudo apt update и затем попробуйте установить python3-numpy снова.

Заключение

Следуя этим шагам, вы должны быть в состоянии восстановить функциональность своего пакетного менеджера APT на Debian 12 и устранить проблемы, вызванные поврежденными библиотеками Python. Если проблема сохранится, вы можете рассмотреть возможность обращения к сообществу пользователей Debian или на специализированные форумы для получения более целевой помощи.

Если у вас возникли дополнительные вопросы по этому или любому другому поводу, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...

  1. Гость

    Я столкнулся с похожей проблемой на Debian 12 и хочу поделиться решением, которое помогло мне.

    Судя по всему, APT пытается загрузить пакет python3-numpy версии 1:1.24.2-1, но получает ошибку 404, потому что эта версия больше не доступна в репозиториях. Это часто происходит, если список пакетов устарел или репозитории указаны неправильно.

    Шаг 1: Обновите список пакетов

    Выполните команду:

    sudo apt update

    Это обновит информацию о доступных пакетах и версиях.

    Шаг 2: Проверьте файл репозиториев

    Откройте файл /etc/apt/sources.list с помощью вашего любимого текстового редактора (например, nano):

    sudo nano /etc/apt/sources.list

    Убедитесь, что в нем указаны актуальные репозитории для Debian 12 (Bookworm). Например:

    deb http://deb.debian.org/debian bookworm main contrib non-free
    deb http://security.debian.org/debian-security bookworm-security main contrib non-free
    deb http://deb.debian.org/debian bookworm-updates main contrib non-free

    Если вы видите ссылки на старые или неподдерживаемые репозитории, замените их на вышеуказанные. Сохраните изменения и закройте файл (в nano нажмите Ctrl+O для сохранения и Ctrl+X для выхода).

    Шаг 3: Очистите кэш APT

    Иногда старые кэшированные данные могут вызывать проблемы. Очистите кэш командой:

    sudo apt clean

    Шаг 4: Повторите обновление и установку

    Снова обновите список пакетов и попытайтесь исправить зависимости:

    sudo apt update
    sudo apt --fix-broken install

    Шаг 5: Попробуйте другой зеркальный сервер

    Если проблема сохраняется, возможно, стоит изменить зеркальный сервер. В файле /etc/apt/sources.list замените текущие URL на другие официальные зеркала. Например:

    deb http://mirror.yandex.ru/debian/ bookworm main contrib non-free

    После изменений снова выполните sudo apt update.

    Шаг 6: Проверьте установленные пакеты через pip

    Если вы ранее устанавливали пакеты Python глобально через pip, это могло вызвать конфликт с системными пакетами. Рекомендуется удалить такие пакеты:

    pip3 uninstall numpy pandas sklearn

    И в будущем использовать виртуальные окружения для проектов Python:

    python3 -m venv myenv
    source myenv/bin/activate
    pip install numpy pandas sklearn

    Заключение

    После выполнения этих шагов APT должен начать работать корректно, и вы сможете устанавливать и удалять пакеты без ошибок. Если проблема все еще не решена, возможно, стоит проверить лог файлов APT или обратиться за помощью на форумы сообщества Debian.

    Надеюсь, эта информация будет полезной и поможет вам справиться с возникшей проблемой!

    Ответить