【问题标题】:Change locale setting in Yocto在 Yocto 中更改语言环境设置
【发布时间】:2017-06-24 17:16:57
【问题描述】:

This is the error occur

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

【问题讨论】:

  • 您使用哪种操作系统?
  • 请分享更多详细信息,例如完整和准确的错误消息以及您的调试尝试

标签: python-3.x locale yocto bitbake


【解决方案1】:

我也在使用 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

在那之后,我对本地人没有任何错误。希望对大家有所帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多