You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下Python出现locale.Error: unsupported locale setting问题求助

Windows 11下Python locale.Error: unsupported locale setting 问题解决

我在Windows 11系统使用Python时,已连续一周遭遇locale.Error: unsupported locale setting错误。此前尝试过执行以下命令:

  • set LC_ALL="en_US.UTF-8"
  • set LC_ALL="C"
    但问题仍未解决,具体报错回溯信息如下:
Traceback (most recent call last):
  File "c:\Users\user\OneDrive\Masaüstü\Desktop_brightness_app_github\main.py", line 17, in <module>
    import ttkbootstrap as tb
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\ttkbootstrap\__init__.py", line 3, in <module>
    from ttkbootstrap.widgets import *
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\ttkbootstrap\widgets.py", line 14, in <module>
    from ttkbootstrap.dialogs import Querybox
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\ttkbootstrap\dialogs\__init__.py", line 1, in <module>
    from ttkbootstrap.dialogs.dialogs import *
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\ttkbootstrap\dialogs\dialogs.py", line 536, in <module>
    class DatePickerDialog:
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\ttkbootstrap\dialogs\dialogs.py", line 566, in DatePickerDialog
    locale.setlocale(locale.LC_ALL, locale.setlocale(locale.LC_TIME, ""))
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\locale.py", line 627, in setlocale
    return _setlocale(category, locale)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
locale.Error: unsupported locale setting

可行解决方案

1. 在代码中提前设置兼容的locale

在导入ttkbootstrap之前,手动指定Windows支持的locale,避免自动检测失败:

import locale
# 优先尝试系统默认locale,失败则指定具体值
try:
    locale.setlocale(locale.LC_ALL, '')
except locale.Error:
    # 可选中文或英文locale,根据系统选择
    locale.setlocale(locale.LC_ALL, 'zh-CN.UTF-8')
    # locale.setlocale(locale.LC_ALL, 'en-US.UTF-8')

import ttkbootstrap as tb
# 后续代码逻辑

2. 修正Windows环境变量设置

之前的命令带引号导致识别错误,在CMD中执行以下命令后再运行脚本:

set LC_ALL=en_US.UTF-8
set LANG=en_US.UTF-8

如果用PowerShell,命令格式为:

$env:LC_ALL = "en_US.UTF-8"
$env:LANG = "en_US.UTF-8"

3. 更新ttkbootstrap到最新版本

该错误可能是旧版本的bug,执行更新命令:

pip install --upgrade ttkbootstrap

4. 调整系统区域设置

  • 打开「设置」→「时间和语言」→「语言和区域」→「管理语言设置」→「更改系统区域设置」
  • 勾选「Beta版:使用Unicode UTF-8提供全球语言支持」(需重启系统)
  • 确保当前系统区域为Python兼容的语言(如简体中文、英语)

内容的提问来源于stack exchange,提问作者Zephyrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 10:34:53