更改Yocto中的区域设置

时间:2017-02-07 12:44:31

标签: python-3.x locale yocto bitbake

This is the error occur

由于Yocto中的默认语言环境设置是POSIX,我得到的错误如图所示。现在我的问题是我不知道如何在Yocto中将语言环境设置更改为en_US.utf-8

3 个答案:

答案 0 :(得分:2)

如果您使用的是 Ubuntu ,请运行以下命令:

$ sudo apt-get install locales

$ sudo dpkg-reconfigure locales

$ sudo locale-gen en_US.UTF-8

生成语言环境(这可能需要一段时间)...  en_US.UTF-8 ......完成了 一代完成。

$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

$ export LANG=en_US.UTF-8

答案 1 :(得分:2)

我也在用yocto。尝试在python3上运行脚本时出现以下错误。

  

回溯(最近通话最近):     ...   RuntimeError:单击将中止进一步执行,因为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"

然后,在目标上运行语言环境-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

在那之后,我对当地人没有任何错误。希望对您有帮助。

答案 2 :(得分:0)

您可以使用 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 脚本放在该子文件夹中,并将配方名称添加到您的图像目标 :)