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 несколько раз. Что я могу сделать отсюда? Спасибо вам
Ответы
Ответ 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
а затем удалите все ненужные части этого файла и сохраните. Я не знаю, как рекомендуется это делать!