gpt4 book ai didi

未在嵌入式安装中设置 Python 路径

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:54 27 4
gpt4 key购买 nike

我正在尝试让 python3 在我的 EspressoBin 单板计算机 (aarch64) 上运行。我已经使用 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 的“依赖于安装的默认值”已经预先填充了正确的路径?

我目前的解决方案是将这两个环境变量添加到 /etc/environment 以及 /etc/profile(用于 ssh 连接),但这似乎就像一个 hacky 解决方法,我想做对。

最佳答案

python3.5 的路径 ".../lib64/..." 看起来不是默认的,

"By default, the libraries are searched in prefix/lib/pythonversion and exec_prefix/lib/pythonversion " source

所以我想这可能与此有关,如果您可以重新安装或修改它以将其安装在 "/lib/" 而不是 "/lib64/" 您不需要设置这两个环境变量。

关于未在嵌入式安装中设置 Python 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54697220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com