为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

富国沪深 2021-11-09 14:56:08
我正在尝试让 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 encodingImportError: 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"$ python3Python 3.5.1 (default, Jan 14 2019, 23:24:54) [GCC 5.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>然后一切都神奇地起作用了。所以问题是......这些东西通常在哪里/如何设置?我尝试与 Ubuntu 进行比较,但由于某种原因,这些环境变量甚至根本不存在!我检查了sys.path上的文档,它说它sys.path是从 PYTHONPATH 填充的,“加上依赖于安装的默认值”。所以我猜 Ubuntu 的“依赖于安装的默认值”已经预先填充了正确的路径?我目前的解决方案是将这两个环境变量添加到/etc/environment, 以及/etc/profile(对于 ssh 连接),但这似乎是一个棘手的解决方法,我想正确地做。
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

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

“默认情况下,库在prefix/lib/pythonversion 和exec_prefix/lib/pythonversion中搜索

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


查看完整回答
反对 回复 2021-11-09
?
莫回无

TA贡献1865条经验 获得超7个赞

从 Python 源代码树中的 Modules/getpath.c 开始并不是一个坏主意。

哦,还有:似乎版本不匹配?Python 是 3.6,但你提供 3.5 模块给它?


查看完整回答
反对 回复 2021-11-09
  • 2 回答
  • 0 关注
  • 277 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信