Я хочу использовать статический интерпретатор 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: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x0000000002812900 (most recent call first):
zsh: abort (core dumped) ./../python
Я видел этот вопрос , и использование исправления, предложенного в первом ответе, избавляет от проблем префикса и exec_prefix, но не от проблемы «Невозможно получить кодировку локали». Я не могу действительно найти решение для этого актуально для меня.
Кстати, это не имеет ничего общего с virtualenv, echo $PYTHONPATH
и echo $PYTHONHOME
оба возвращают пустую строку, когда я пробую ее вне любых virtualenv. Я могу нормально запустить статический бинарный файл, когда он находится в каталоге сборки.
Вот пример этого -
~/Python-3.7.2$ ./python
Python 3.7.2 (default, Jan 26 2019, 19:14:39)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
~/Python-3.7.2$ cp python ..
~/Python-3.7.2$ ./../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: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x0000000002812900 (most recent call first):
zsh: abort (core dumped) ./../python
~/Python-3.7.2$ export PYTHONHOME=/usr/local
~/Python-3.7.2$ ./../python
Fatal Python error: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00000000011b1900 (most recent call first):
zsh: abort (core dumped) ./../python