0

EspressoBin シングル ボード コンピューター (aarch64) で python3 を実行しようとしています。Marvell のopenembeddedディストリビューションを使用して Linux ディストリビューションを構築し、 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の「インストールに依存するデフォルト」には正しいパスが事前に設定されていると思いますか?

私の現在の解決策は、これらの 2 つの環境変数を/etc/environment/etc/profile(ssh 接続の場合) に追加することですが、これはハックな回避策のようで、正しく実行したいと考えています。

4

2 に答える 2