Вопрос или проблема
Я пытаюсь установить pip на WSL Ubuntu 18.04.2 LTS. Когда я пытаюсь, установка python3-crypto завершается неудачей:
Настройка python3-crypto (2.6.1-8ubuntu2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
После этой ошибки всё заканчивается неудачей, и python3 также поврежден. Библиотека есть в системе:
$ locate libexpat.so.1
/lib/x86_64-linux-gnu/libexpat.so.1
/lib/x86_64-linux-gnu/libexpat.so.1.6.7
Я использую Python 3.6.7. Команда python3
также вызывает ошибку.
$ python3
python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
Когда я запускаю pip3
, я получаю:
Команда 'pip3' не найдена, но её можно установить с помощью:
Я пытался установить её с помощью APT:
$ sudo apt-get install python3-pip
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение состояния информации... Готово
Следующий пакет был автоматически установлен и больше не требуется:
libfreetype6
Используйте 'sudo apt autoremove', чтобы удалить его.
Следующие дополнительные пакеты будут установлены:
binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dh-python dpkg-dev fakeroot g++ g++-7
gcc gcc-7 gcc-7-base gcc-8-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4
libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libexpat1 libexpat1-dev libfakeroot
libfile-fcntllock-perl libgcc-7-dev libgcc1 libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libpython3-dev
libpython3.6 libpython3.6-dev libpython3.6-minimal libpython3.6-stdlib libquadmath0 libssl1.1 libstdc++-7-dev
libstdc++6 libtsan0 libubsan0 linux-libc-dev make manpages-dev python-pip-whl python3-crypto python3-dev
python3-distutils python3-keyring python3-keyrings.alt python3-lib2to3 python3-secretstorage python3-setuptools
python3-wheel python3-xdg python3.6 python3.6-dev python3.6-minimal
Предложенные пакеты:
binutils-doc cpp-doc gcc-7-locales debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg
gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg
libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg
glibc-doc bzr libstdc++-7-doc make-doc python-crypto-doc gnome-keyring libkf5wallet-bin gir1.2-gnomekeyring-1.0
python-secretstorage-doc python-setuptools-doc python3.6-venv python3.6-doc binfmt-support
Следующие новые пакеты будут установлены:
binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dh-python dpkg-dev fakeroot g++ g++-7
gcc gcc-7 gcc-7-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1
libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot
libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libpython3-dev
libpython3.6-dev libquadmath0 libstdc++-7-dev libtsan0 libubsan0 linux-libc-dev make manpages-dev python-pip-whl
python3-crypto python3-dev python3-distutils python3-keyring python3-keyrings.alt python3-lib2to3 python3-pip
python3-secretstorage python3-setuptools python3-wheel python3-xdg python3.6-dev
Следующие пакеты будут обновлены:
gcc-8-base libexpat1 libgcc1 libpython3.6 libpython3.6-minimal libpython3.6-stdlib libssl1.1 libstdc++6 python3.6
python3.6-minimal
10 обновлено, 57 новых установлено, 0 удалено и 110 не обновлено.
Необходимо загрузить 92.7 МБ архивов.
После этой операции будет использовано 248 МБ дополнительного дискового пространства.
Хотите продолжить? [Y/n]
Настройка libquadmath0:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка libgomp1:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка libatomic1:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка python-pip-whl (9.0.1-2.3~ubuntu1.18.04.1) ...
Настройка libexpat1:amd64 (2.2.5-3ubuntu0.2) ...
Настройка libcc1-0:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка make (4.1-9.1ubuntu1) ...
Обработка триггеров для mime-support (3.60ubuntu1) ...
Настройка python3-crypto (2.6.1-8ubuntu2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-crypto (--configure):
сценарий постустановки установленного пакета python3-crypto завершился с ошибкой выполнения 127
Настройка libtsan0:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка python3-xdg (0.25-4ubuntu1) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-xdg (--configure):
сценарий постустановки установленного пакета python3-xdg завершился с ошибкой выполнения 127
dpkg: проблемы с зависимостями препятствуют настройке python3-keyrings.alt:
python3-keyrings.alt зависит от python3-crypto; однако:
Пакет python3-crypto ещё не настроен.
dpkg: ошибка при обработке пакета python3-keyrings.alt (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка linux-libc-dev:amd64 (4.15.0-65.74) ...
Настройка libdpkg-perl (1.19.0.5ubuntu2.3) ...
Настройка python3-wheel (0.30.0-0.2) ...
Нет отчета apport, так как сообщение об ошибке указывает, что это последующая ошибка предыдущей неудачи.
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-wheel (--configure):
сценарий постустановки установленного пакета python3-wheel завершился с ошибкой выполнения 127
Настройка liblsan0:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Настройка gcc-7-base:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Настройка binutils-common:amd64 (2.30-21ubuntu1~18.04.2) ...
Нет отчета apport, так как MaxReports уже достигнут
Настройка libfile-fcntllock-perl (0.22-3build2) ...
Настройка libmpx2:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Обработка триггеров для libc-bin (2.27-3ubuntu1) ...
Настройка libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.4) ...
Проверка на наличие служб, которые могут нуждаться в перезапуске... готово.
Проверка на наличие служб, которые могут нуждаться в перезапуске... готово.
Проверка сценариев инициализации...
Перезапуск служб, которые могут быть затронуты обновлением:
invoke-rc.d: не удалось определить текущий уровень выполнения
Службы успешно перезапущены.
Настройка libfakeroot:amd64 (1.22-2ubuntu1) ...
Настройка libalgorithm-diff-perl (1.19.03-1) ...
Обработка триггеров для man-db (2.8.3-2ubuntu0.1) ...
Настройка libmpc3:amd64 (1.1.0-1) ...
Настройка libc-dev-bin (2.27-3ubuntu1) ...
Настройка python3-lib2to3 (3.6.8-1~18.04) ...
/usr/bin/python3.6: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-lib2to3 (--configure):
сценарий постустановки установленного пакета python3-lib2to3 завершился с ошибкой выполнения 127
Нет отчета apport, так как MaxReports уже достигнут
Настройка python3-secretstorage (2.3.1-2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-secretstorage (--configure):
сценарий постустановки установленного пакета python3-secretstorage завершился с ошибкой выполнения 127
Нет отчета apport, так как MaxReports уже достигнут
Настройка manpages-dev (4.15-1) ...
Настройка libc6-dev:amd64 (2.27-3ubuntu1) ...
dpkg: проблемы с зависимостями препятствуют настройке python3-distutils:
python3-distutils зависит от python3-lib2to3 (>= 3.6.4); однако:
Пакет python3-lib2to3 ещё не настроен.
dpkg: ошибка при обработке пакета python3-distutils (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка libitm1:amd64 (8.3.0-6ubuntu1~18.04.1) ...
Нет отчета apport, так как MaxReports уже достигнут
Настройка libisl19:amd64 (0.19-1) ...
Настройка libasan4:amd64 (7.4.0-1ubuntu1~18.04.1) ...
dpkg: проблемы с зависимостями препятствуют настройке python3-keyring:
python3-keyring зависит от python3-secretstorage; однако:
Пакет python3-secretstorage ещё не настроен.
dpkg: ошибка при обработке пакета python3-keyring (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка libbinutils:amd64 (2.30-21ubuntu1~18.04.2) ...
Нет отчета apport, так как MaxReports уже достигнут
Настройка libcilkrts5:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Настройка libubsan0:amd64 (7.4.0-1ubuntu1~18.04.1) ...
dpkg: проблемы с зависимостями препятствуют настройке python3-dev:
python3-dev зависит от python3-distutils (>= 3.6.7-1~); однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-dev (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка fakeroot (1.22-2ubuntu1) ...
Нет отчета apport, так как MaxReports уже достигнут
update-alternatives: использование /usr/bin/fakeroot-sysv для предоставления /usr/bin/fakeroot (fakeroot) в автоматическом режиме
Настройка libgcc-7-dev:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Настройка cpp-7 (7.4.0-1ubuntu1~18.04.1) ...
Настройка libstdc++-7-dev:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Настройка libpython3.6-minimal:amd64 (3.6.8-1~18.04.3) ...
Настройка libalgorithm-merge-perl (0.08-3) ...
Настройка libalgorithm-diff-xs-perl (0.04-5) ...
dpkg: проблемы с зависимостями препятствуют настройке python3-pip:
python3-pip зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-pip (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка libexpat1-dev:amd64 (2.2.5-3ubuntu0.2) ...
Нет отчета apport, так как MaxReports уже достигнут
dpkg: проблемы с зависимостями препятствуют настройке python3-setuptools:
python3-setuptools зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-setuptools (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке dh-python:
dh-python зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета dh-python (--configure):
проблемы с зависимостями - оставляя несоответствующим
Нет отчета apport, так как MaxReports уже достигнут
Нет отчета apport, так как MaxReports уже достигнут
Настройка binutils-x86-64-linux-gnu (2.30-21ubuntu1~18.04.2) ...
Настройка cpp (4:7.4.0-1ubuntu2.3) ...
Настройка libpython3.6-stdlib:amd64 (3.6.8-1~18.04.3) ...
Настройка python3.6-minimal (3.6.8-1~18.04.3) ...
/usr/bin/python3.6: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3.6-minimal (--configure):
сценарий постустановки установленного пакета python3.6-minimal завершился с ошибкой выполнения 127
Нет отчета apport, так как MaxReports уже достигнут
Настройка binutils (2.30-21ubuntu1~18.04.2) ...
Настройка libpython3.6:amd64 (3.6.8-1~18.04.3) ...
dpkg: проблемы с зависимостями препятствуют настройке python3.6:
python3.6 зависит от python3.6-minimal (= 3.6.8-1~18.04.3); однако:
Пакет python3.6-minimal ещё не настроен.
dpkg: ошибка при обработке пакета python3.6 (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка gcc-7 (7.4.0-1ubuntu1~18.04.1) ...
Нет отчета apport, так как MaxReports уже достигнут
Настройка g++-7 (7.4.0-1ubuntu1~18.04.1) ...
Настройка gcc (4:7.4.0-1ubuntu2.3) ...
Настройка libpython3.6-dev:amd64 (3.6.8-1~18.04.3) ...
Настройка dpkg-dev (1.19.0.5ubuntu2.3) ...
Настройка g++ (4:7.4.0-1ubuntu2.3) ...
update-alternatives: использование /usr/bin/g++ для предоставления /usr/bin/c++ (c++) в автоматическом режиме
dpkg: проблемы с зависимостями препятствуют настройке python3.6-dev:
python3.6-dev зависит от python3.6 (= 3.6.8-1~18.04.3); однако:
Пакет python3.6 ещё не настроен.
dpkg: ошибка при обработке пакета python3.6-dev (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка libpython3-dev:amd64 (3.6.7-1~18.04) ...
Нет отчета apport, так как MaxReports уже достигнут
Настройка build-essential (12.4ubuntu1) ...
Обработка триггеров для libc-bin (2.27-3ubuntu1) ...
Произошли ошибки при обработке:
python3-crypto
python3-xdg
python3-keyrings.alt
python3-wheel
python3-lib2to3
python3-secretstorage
python3-distutils
python3-keyring
python3-dev
python3-pip
python3-setuptools
dh-python
python3.6-minimal
python3.6
python3.6-dev
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)
Вывод sudo dpkg --configure -a
:
Настройка python3-crypto (2.6.1-8ubuntu2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-crypto (--configure):
сценарий постустановки установленного пакета python3-crypto завершился с ошибкой выполнения 127
Настройка python3-xdg (0.25-4ubuntu1) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-xdg (--configure):
сценарий постустановки установленного пакета python3-xdg завершился с ошибкой выполнения 127
dpkg: проблемы с зависимостями препятствуют настройке python3-keyrings.alt:
python3-keyrings.alt зависит от python3-crypto; однако:
Пакет python3-crypto ещё не настроен.
dpkg: ошибка при обработке пакета python3-keyrings.alt (--configure):
проблемы с зависимостями - оставляя несоответствующим
Настройка python3.6-minimal (3.6.8-1~18.04.3) ...
/usr/bin/python3.6: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3.6-minimal (--configure):
сценарий постустановки установленного пакета python3.6-minimal завершился с ошибкой выполнения 127
Настройка python3-wheel (0.30.0-0.2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-wheel (--configure):
сценарий постустановки установленного пакета python3-wheel завершился с ошибкой выполнения 127
Настройка python3-lib2to3 (3.6.8-1~18.04) ...
/usr/bin/python3.6: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-lib2to3 (--configure):
сценарий постустановки установленного пакета python3-lib2to3 завершился с ошибкой выполнения 127
Настройка python3-secretstorage (2.3.1-2) ...
/usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
dpkg: ошибка при обработке пакета python3-secretstorage (--configure):
сценарий постустановки установленного пакета python3-secretstorage завершился с ошибкой выполнения 127
dpkg: проблемы с зависимостями препятствуют настройке python3-distutils:
python3-distutils зависит от python3-lib2to3 (>= 3.6.4); однако:
Пакет python3-lib2to3 ещё не настроен.
dpkg: ошибка при обработке пакета python3-distutils (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3.6:
python3.6 зависит от python3.6-minimal (= 3.6.8-1~18.04.3); однако:
Пакет python3.6-minimal ещё не настроен.
dpkg: ошибка при обработке пакета python3.6 (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3-keyring:
python3-keyring зависит от python3-secretstorage; однако:
Пакет python3-secretstorage ещё не настроен.
dpkg: ошибка при обработке пакета python3-keyring (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3-dev:
python3-dev зависит от python3-distutils (>= 3.6.7-1~); однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-dev (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3-pip:
python3-pip зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-pip (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3-setuptools:
python3-setuptools зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета python3-setuptools (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке python3.6-dev:
python3.6-dev зависит от python3.6 (= 3.6.8-1~18.04.3); однако:
Пакет python3.6 ещё не настроен.
dpkg: ошибка при обработке пакета python3.6-dev (--configure):
проблемы с зависимостями - оставляя несоответствующим
dpkg: проблемы с зависимостями препятствуют настройке dh-python:
dh-python зависит от python3-distutils; однако:
Пакет python3-distutils ещё не настроен.
dpkg: ошибка при обработке пакета dh-python (--configure):
проблемы с зависимостями - оставляя несоответствующим
Произошли ошибки при обработке:
python3-crypto
python3-xdg
python3-keyrings.alt
python3.6-minimal
python3-wheel
python3-lib2to3
python3-secretstorage
python3-distutils
python3.6
python3-keyring
python3-dev
python3-pip
python3-setuptools
python3.6-dev
dh-python
Как я могу установить pip3 на WSL Ubuntu?
Пакет python3-pip ломает систему для WSL, что-то не так. Я установил pip, используя python3:
Я получил ошибку при запуске “python3 get-pip.py” без python3-distutils, поэтому сначала он установлен
sudo apt-get install python3-distutils
curl hppts://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 --user get-pip.py
Похоже, pip был успешно установлен.
$ pip --version
pip 19.3 из /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
Ответ или решение
Ошибка, которую вы получаете: /usr/bin/python3: ошибка при загрузке общих библиотек: libexpat.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога
, указывает на отсутствие или повреждение библиотеки libexpat.so.1
, необходимой для работы Python 3.
Анализ проблемы
- Система: Вы используете WSL (Windows Subsystem for Linux) на Ubuntu 18.04.2 LTS.
- Состояние Python: Поскольку Python 3.6 не может загрузить нужные библиотеки, это приводит к сбоям при выполнении команд, таких как
pip3
и дажеpython3
. - Проблемы с зависимостями: Из вывода
dpkg
видно, что многие пакеты Python не могут быть настроены из-за отсутствияlibexpat.so.1
. Это вызвало каскадные сбои из-за зависимостей между пакетами.
Решение
Для того, чтобы устранить данную проблему, выполните следующие шаги:
1. Проверка наличия библиотеки
Основное, что необходимо сделать — это проверить, установлена ли библиотека libexpat1
. Выполните команду:
dpkg -l | grep libexpat1
Если она отсутствует, установите её:
sudo apt-get update
sudo apt-get install libexpat1
2. Переустановка Python 3 и необходимых компонентов
Если библиотека уже установлена, возможно, требуется переустановка пакетов Python и их зависимостей. Для этого выполните следующие команды:
sudo apt-get remove --purge python3 python3-crypto python3-pip
sudo apt-get autoremove
sudo apt-get install python3 python3-pip python3-crypto
Эти команды удалят Python и его пакеты, а затем установят их заново.
3. Установка pip через get-pip.py
Если вы всё ещё не можете установить pip3
обычным способом, используйте скрипт get-pip.py
:
sudo apt-get install python3-distutils # Установите необходимые зависимости
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
Данный способ позволит вам установить pip
, если основные зависимости и библиотеки установлены.
4. Проверка установки pip
После завершения всех шагов проверьте, установлен ли pip
и работает ли он:
pip3 --version
Если вернётся версия, то установка прошла успешно.
Заключение
Подход к устранению данной проблемы требует поэтапной проверки состояний пакетов и их зависимостей. Если все вышеперечисленные шаги не принесли успеха, возможно, стоит рассмотреть полное переустановку WSL или использование другой версии Ubuntu внутри WSL.
Этот метод не только устранит временные проблемы, но и обеспечит вам чистую среду для разработки. Не забывайте выполнять резервное копирование важных данных перед выполнением критических операций, чтобы избежать потери информации.