Я пытаюсь запустить python3 на моем одноплатном компьютере EspressoBin (aarch64).Я построил дистрибутив Linux с использованием openembedded от Marvell и включил python3
.
. Проблема в том, что пути поиска / переменные окружения Python не устанавливаются.
Если я пытаюсь запустить python3, я получаю:
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'
Current thread 0x0000007faef06000 (most recent call first):
Aborted
Если, однако, я делаю:
$ export PYTHONHOME="/usr/lib64/python3.5/"
$ export PYTHONPATH="/usr/lib64/python3.5/:/usr/lib64/python3.5/lib-dynload"
$ python3
Python 3.5.1 (default, Jan 14 2019, 23:24:54)
[GCC 5.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Тогда все волшебным образом работает.
Итак, вопрос в том, где / как эти вещи обычно устанавливаются?Я попытался сравнить с Ubuntu, но по некоторым причинам эти переменные окружения даже не присутствуют вообще!Я проверил документы на sys.path и там написано, что sys.path
заполняется из PYTHONPATH, «плюс зависящее от установки значение по умолчанию».Так что я предполагаю, что в Ubuntu «зависящее от установки значение по умолчанию» предварительно указаны правильные пути?
Мое текущее решение - просто добавить эти две переменные окружения в /etc/environment
, а также /etc/profile
(длясоединения ssh), но это похоже на хакерский обходной путь, и я хочу сделать это правильно.