Ошибка импорта в Python: Отсутствует модуль с именем _sysconfigdata_nd

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

После установки я установил python 3.5, используя conda, а затем удалил conda.

Перед удалением я мог получить доступ к pip и т.д. В терминале любая команда python приводит к следующему, как показано на скриншоте ниже:

jjplack@jjplack:~$ pip --version
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 554, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 536, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 272, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 247, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 237, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 587, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 533, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/lib/python2.7/sysconfig.py", line 417, in _init_posix
    from _sysconfigdata import build_time_vars
  File "/usr/lib/python2.7/_sysconfigdata.py", line 6, in <module>
    from _sysconfigdata_nd import *
ImportError: No module named _sysconfigdata_nd

Итак, в попытке исправить, я переключил bash обратно на python 2, но ошибка все равно происходит. Почему это происходит и как это исправить?

Вот bash_config:

export PYTHONHOME=/usr/bin
export PYTHONPATH=/usr/lib/python2.7
export PATH=$PYTHONPATH:$PATH

Чтобы исправить, просто введите в терминале: ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/

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

Ошибка, с которой вы столкнулись, связана с отсутствием модуля _sysconfigdata_nd. Давайте разберемся, почему это происходит и как можно исправить проблему.

Причины возникновения ошибки

  1. Удаление Conda: Когда вы удалили Conda, вы, возможно, случайно изменили или удалили некоторые конфигурации или пути, которые были настроены в момент установки Python 3.5. Это могло привести к нарушению работы сред выполнения Python.

  2. Неправильная конфигурация путей: Ваши текущие переменные среды указывают на Python 2.7, а не на Python 3.5. Это может вызвать конфликты, особенно если часть окружения ожидала Python версии 3.5.

  3. Отсутствие _sysconfigdata_nd файла: Этот файл необходим Python для получения информации о системной конфигурации. Он, вероятно, отсутствует или не в том месте из-за изменений, вызванных удалением Conda.

Решение проблемы

Вот пошаговый план, который может помочь решить эту ошибку:

  1. Убедитесь, что все файлы на месте:

    • Вы уже пытались создать символическую ссылку на _sysconfigdata.py. Убедитесь, что эта команда выполнена корректно:
      ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/
    • Если файл действительно отсутствует, попробуйте переустановить Python 2.7 или обновить систему.
  2. Проверка переменных окружения:

    • Убедитесь, что переменные PYTHONHOME и PYTHONPATH настроены корректно. Они должны быть согласованы с используемой версией Python. Например, если вы используете Python 2.7, проверьте, что путь соответствует установленной версии Python.
    • Отредактируйте ~/.bashrc или ~/.bash_profile, чтобы переменные были выставлены корректно:
      export PYTHONHOME=/usr
      export PYTHONPATH=/usr/lib/python2.7
      export PATH=$PYTHONPATH:$PATH
  3. Возврат к изначальной версии Python 3.5:

    • Если проблема началась после удаления Conda, попробуйте снова установить необходимую версию Python с помощью системного пакетного менеджера (например, apt для Ubuntu):
      sudo apt update
      sudo apt install python3.5
  4. Использование виртуальных окружений:

    • Рассмотрите возможность использования virtualenv или venv, чтобы изолировать окружение вашего проекта и избежать проблем с системными библиотеками.

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

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

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