python easy_install или pip ошибки о sysconfig

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

Причиной проблемы является сломанная установка Python на моем Linux OEL 6.9.

pip или easy_install сломаны, и я ничего не могу сделать.

Я получаю одну и ту же ошибку с обеих сторон:

# easy_install
Traceback (most recent call last):
  File "/usr/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/setuptools-39.2.0-py2.6.egg/pkg_resources/__init__.py", line 947, in <module>
    class Environment(object):
  File "/usr/lib/python2.6/site-packages/setuptools-39.2.0-py2.6.egg/pkg_resources/__init__.py", line 951, in Environment
    self, search_path=None, platform=get_supported_platform(),
  File "/usr/lib/python2.6/site-packages/setuptools-39.2.0-py2.6.egg/pkg_resources/__init__.py", line 180, in get_supported_platform
    plat = get_build_platform()
  File "/usr/lib/python2.6/site-packages/setuptools-39.2.0-py2.6.egg/pkg_resources/__init__.py", line 380, in get_build_platform
    from sysconfig import get_platform
ImportError: No module named sysconfig

Я удалил python-setuptools, но это не помогло.

Я думаю, что пытался обновить последнюю версию pyOpenSSL, и это привело к сбою, и я не могу это исправить.

Мы используем Oracle Enterprise Linux 6.6 в виртуальной машине.

Как это исправить, не прибегая к установке Python 2.7, который не входит в официальные репозитории.

Спасибо.

Решение заключалось в следующем:

Полностью удалить python-setuptools и удалить папку из /usr/lib/python2.6/site-packages/.

Затем вручную удалить из папки site-packages модуль: pyOpenSSL. Все пошло не так после попытки его обновить.

rm -rf pyOpenSSL-18.0.0-py2.6.egg/

Установить обратно через yum python-setuptools. Теперь pip list может отображать модули, и больше нет ошибок с easy_install.

Итак, setuptools теперь должен быть установлен – можете подтвердить, что у вас есть модуль pkg_resources.py? Выполните ls /usr/lib/python2.6/site-packages/pkg_resources.py; echo $?.

Если эта команда выводит 0, удалите pkg_resources пакет: sudo rm -rf /usr/lib/python2.6/site-packages/pkg_resources/.

Удалите директорию только тогда, когда модуль pkg_resources обнаружен! После этого pip должен снова заработать: выполните что-то вроде pip list для проверки.

Если нет

Запустите:

python3 -m ensurepip --default-pip

pip3 install [package]

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

Устранение ошибок easy_install и pip, связанных с sysconfig в Python на Oracle Enterprise Linux 6.9

Введение

Пользователи часто сталкиваются с проблемами при установке и использовании Python на разных дистрибутивах Linux, особенно когда дело доходит до управления пакетами с помощью инструментов, таких как easy_install и pip. В данном случае мы рассмотрим ситуацию, когда в Oracle Enterprise Linux 6.9 возникла ошибка ImportError: No module named sysconfig, что обычно сигнализирует о проблемах с установленными библиотеками.

Проблема

Проблема, с которой вы столкнулись, возникла, когда попытка обновления модуля pyOpenSSL привела к повреждению системы пакетов Python. Следствием этой ошибки явилось то, что инструменты для управления пакетами, такие как easy_install и pip, перестали работать из-за отсутствия модуля sysconfig.

Предварительные действия

  1. Удаление python-setuptools: Первоначальным шагом, который вы предприняли, было удаление пакета python-setuptools. Это было правильное решение, но для устранения проблемы необходимо было выполнить дополнительные шаги.

  2. Удаление остатков: Чтобы полностью устранить возможные конфликты, необходимо удалить оставшиеся файлы из каталога site-packages. В вашем случае это включало удаление директории pyOpenSSL и других связанных компонентов.

Решение

Шаг 1: Удаление остатков

Сначала выполните следующие команды в терминале для удаления пакетов и их остатков:

sudo rm -rf /usr/lib/python2.6/site-packages/pyOpenSSL-18.0.0-py2.6.egg/
sudo rm -rf /usr/lib/python2.6/site-packages/pkg_resources/

Убедитесь, что вы удалили не только сам пакет, но и все его зависимости, которые могут остаться в site-packages.

Шаг 2: Переустановка python-setuptools

После завершения удаления остатков, выполните переустановку python-setuptools через yum:

sudo yum install python-setuptools

Эта команда установит чистую версию setuptools, что должно решить проблемы с загрузкой модулей.

Шаг 3: Проверка

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

ls /usr/lib/python2.6/site-packages/pkg_resources.py; echo $?

Если команда возвращает 0, это значит, что модуль присутствует и установлен корректно.

Дополнительные рекомендации

Если решение выше не помогло или вам необходимо работать с более современными версиями Python, рассмотрите возможность установки Python 3 с помощью следующей команды:

sudo yum install python36

Затем используйте pip для установки необходимых пакетов:

python3 -m ensurepip --default-pip
pip3 install [пакет]

Заключение

Существует несколько методов устранения ошибок, связанных с easy_install и pip. Однако наиболее важным шагом является систематическое удаление проблемных компонентов и повторная установка необходимых библиотек. Следуя описанным шагам, вы сможете восстановить работоспособность pip и easy_install, а также продолжить работу с Python без дальнейших затруднений.

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

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

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