【发布时间】:2017-06-24 17:16:57
【问题描述】:
由于 Yocto 中的默认语言环境设置为 POSIX,我收到如图所示的错误。现在我的问题是我不知道如何在 Yocto 中将语言环境设置更改为 en_US.utf-8
【问题讨论】:
-
您使用哪种操作系统?
-
请分享更多详细信息,例如完整和准确的错误消息以及您的调试尝试
标签: python-3.x locale yocto bitbake
由于 Yocto 中的默认语言环境设置为 POSIX,我收到如图所示的错误。现在我的问题是我不知道如何在 Yocto 中将语言环境设置更改为 en_US.utf-8
【问题讨论】:
标签: python-3.x locale yocto bitbake
我也在使用 yocto。尝试在 python3 上运行脚本时出现如下错误。
Traceback(最近一次调用最后一次): ... RuntimeError: Click 将中止进一步的执行,因为 Python 3 是 配置为使用 ASCII 作为环境的编码。要么切换 到 Python 2 或咨询http://click.pocoo.org/python3/ 缓解措施。
为了解决这个问题,首先我必须在你的 local.conf 中启用 UTF-8
GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
然后,在目标上运行 locale -a 时,我得到了类似的结果。
C
en_GB
en_US
POSIX
为了确保本地是 UTF-8,我使用了来自 link 的 c 程序并得到了类似的东西:
C ->ANSI_X3.4-1968
en_GB ->UTF-8
en_US ->UTF-8
POSIX ->ANSI_X3.4-1968
终于
export LC_ALL=en_US
export LANG=en_US
在那之后,我对本地人没有任何错误。希望对大家有所帮助。
【讨论】:
您可以使用 profile.d 并编写如下配方:
DESCRIPTION = "Copy scripts to profile.d"
LICENSE = "CLOSED"
SRC_URI = "file://*"
GLIBC_GENERATE_LOCALES="en_GB.UTF-8 en_US.UTF-8"
IMAGE_LINGUAS = "en-us"
RDEPENDS_${PN} = "bash"
do_install () {
install -d ${D}/etc/profile.d
install -m755 ${WORKDIR}/lang.sh ${D}/etc/profile.d
}
你需要一个shell脚本所在的子文件夹,名字无关紧要,因为行:
SRC_URI = "file://*"
获取子文件夹。
shell脚本lang.sh:
#!/bin/bash
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
将 shell 脚本放在该子文件夹中,并将配方名称添加到您的图像目标:)
【讨论】: