Подтвердить что ты не робот

ImportError: Нет модуля с именем 'encodings'

Недавно я переустановил ubuntu и обновился до 16.04 и не могу использовать python:

$ python manage.py runserver
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

В этот момент сам python не работает

$ python
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

Даже это предложение больше не работает:

unset PYTHONHOME
unset PYTHONPATH

Каждый раз, когда я исправляю его в одну сторону, он возвращается снова. Несколько ответов помогают исправить это временно, но не навсегда. Я переустанавливал python и python3 несколько раз. Что я могу сделать отсюда? Спасибо вам

4b9b3361

Ответ 1

Для Python-3 попробуйте удалить файлы виртуальной среды. И сбросить его.

rm -rf venv
virtualenv -p /usr/bin/python3 venv/
source venv/bin/activate
pip install -r requirements.txt

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3 редактировать для

Ответ 2

Для пользователя Windows10.

Я использовал python3.4 в Windows10. Я установил python3.5. Я не мог найти переменную PYTHONPATH, PYTHONHOME env. Если я пишу python в консоли CMD, он продолжал использовать python3.4. Я удалил python3.4. Всякий раз, когда я командую python в консоли CMD, он начинает показывать ошибку, как показано ниже.

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Я искал свою проблему. Решение было простым. Когда вы устанавливаете python3.5, вы можете настроить и установить Добавить Python в переменные среды в Дополнительные параметры.

Я просто останусь здесь для случая, что у кого-то есть подобные проблемы, посещайте здесь, чтобы они не тратили драгоценное время на многое, чтобы понять.

Ответ 3

Я столкнулся с той же проблемой под Windows7. Сообщение об ошибке выглядит так:

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000011f4 (most recent call first):

Я установил Python 2.7 (теперь удален), и я установил флажок "Добавить Python к переменным среды в Дополнительные параметры" при установке Python 3.6. Получается, что переменная окружения " PYTHONHOME " и " PYTHONPATH " все еще python2.7.

Наконец, я решил это, изменив " PYTHONHOME " на путь установки python3.6 и удалив переменную " PYTHONPATH ".

Ответ 4

Для той же самой проблемы в Windows7

Вы увидите ошибку, подобную этой, если неверно установлены переменные среды/системные переменные:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

Current thread 0x00001db4 (most recent call first):

Фиксирование это очень просто:

  • Когда вы загружаете версию Python3.x и запускаете файл .exe, он дает вам возможность настроить, где в вашей системе вы хотите установить Python. Например, я выбрал это местоположение: C:\Program Files\Python36

  • Затем откройте свойства системы и перейдите на вкладку " Дополнительно" (или вы можете просто сделать это: Перейти в "Пуск" > "Поиск" переменных среды " > Нажмите" Изменить переменные системной среды ".) На вкладке" Дополнительно "найдите" Переменные среды "и щелкните по нему. Появится другое окно с именем" Переменные среды".

  • Теперь убедитесь, что ваши пользовательские переменные имеют правильный путь Python, указанный в "Переменная пути". В моем примере здесь вы должны увидеть C:\Program Files\Python36. Если вы его не найдете, добавьте его, выбрав поле "Переменная переменная" и нажав "Изменить".

  • Последний шаг - дважды проверить поля PYTHONHOME и PYTHONPATH в разделе Системные переменные в том же окне. Вы должны увидеть тот же путь, как описано выше. Если не добавить его там тоже.

Затем нажмите "ОК" и вернитесь на CMD-терминал и попробуйте проверить на python. Теперь проблема должна быть решена. Это сработало для меня.

Ответ 5

У меня была эта ошибка во время миграции на Ubuntu 17.10, и это решило проблему:

sudo dpkg-reconfigure python3

Возможно, вам придется закрыть сеанс и снова подключиться.

Ответ 6

Посмотрите /lib/python3.5 и вы увидите неработающие ссылки на библиотеки Python. Пересоздайте его в рабочий каталог.

Следующая ошибка -

./script/bin/pip3
Failed to import the site module
Traceback (most recent call last):
  File "/home/script/script/lib/python3.5/site.py", line 703, in <module>
    main()
  File "/home/script/script/lib/python3.5/site.py", line 683, in main
    paths_in_sys = addsitepackages(paths_in_sys)
  File "/home/script/script/lib/python3.5/site.py", line 282, in addsitepackages
    addsitedir(sitedir, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 204, in addsitedir
    addpackage(sitedir, name, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 173, in addpackage
    exec(line)
  File "<string>", line 1, in <module>
  File "/home/script/script/lib/python3.5/types.py", line 166, in <module>
    import functools as _functools
  File "/home/script/script/lib/python3.5/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/home/script/script/lib/python3.5/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'

исправлено вот так - https://askubuntu.com/questions/907035/importerror-cannot-import-name-remove-dead-weakref

cd my-virtualenv-directory
virtualenv . --system-site-packages

Ответ 7

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

Чтобы исправить это раз и навсегда, я написал краткое решение здесь.

Ответ 8

MAC OSX ANACONDA

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

Чтобы исправить это раз и навсегда, я написал краткое решение здесь.

Ответ 9

Я также мог бы это исправить. PYTHONPATH и PYTHONHOME были причиной.

запустить это в терминале

   touch ~/.bash_profile
   open ~/.bash_profile

а затем удалите все ненужные части этого файла и сохраните. Я не знаю, как рекомендуется это делать!