Я знаю, что этот заголовок может быть немного запутанным, поэтому для пояснения: контейнер докера запускается просто отлично.Python продолжает падать, когда я пытаюсь открыть его.
Мой компьютер работает на Ubunutu.Вот вывод uname -a:
Linux work-laptop 4.15.0-39-generic #42-Ubuntu SMP
Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
У меня есть докер-контейнер на основе изображения Python: 3.6.3.Я также попробовал это с изображениями Alpine, Jessie, Slim и Stretch, а также с некоторыми другими версиями 3.6.У всех них одна и та же проблема.
Я запускаю контейнер с именем 'nb' и присоединяюсь к интерактивной оболочке:
docker-compose run nb sh
Контейнер запускается без проблем, но когда япопробуйте открыть оболочку 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
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007f32546ae700 (most recent call first):
Aborted (core dumped)
Я проверил $ PYTHONPATH и $ PYTHONHOME, оба не установлены.
Странно то, что если я укажу использовать python 2.7:
python2
, оболочка не запустится.Кроме того, если я использую любое из изображений 3.7 и открываю оболочку python 3.7, проблем не возникает.Кажется, проблема ограничена 3,6
Исследование, которое я провел по этому вопросу, говорит мне, что это, вероятно, проблема с переменными среды.Я попытался вручную установить PYTHONHOME на эти значения (индивидуально)
/usr/local/lib
/usr/local/lib/python
/usr/local/lib/python3.6
без изменений в результате.Единственное отличие состоит в том, что в сообщении об ошибке больше не предлагается устанавливать PYTHONHOME
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007f32546ae700 (most recent call first):
Aborted (core dumped)
. Я подумал, что проблема может быть в какой-то команде в моем dockerfile, поэтому я удалил все и просто развернул нефильтрованный образ питона.Та же проблема.Я перезагружал, пробовал другие изображения, без изменений.Я не могу представить, что все (или действительно любые) официальные образы Python могут быть причиной этого, поэтому я предполагаю, что проблема должна быть с моей хост-машиной, но ничего, что я не могу найти, затрагивает эту тему.Есть мысли?