gpt4 book ai didi

python - 在 Heroku 上,locale.getdefaultlocale() 返回 (None, None),破坏了 Django createsuperuser——如何修复?

转载 作者:太空狗 更新时间:2023-10-30 01:43:02 24 4
gpt4 key购买 nike

尝试做一个 heroku python manage.py createsuperuser 给我一个大致结束的错误:

File "/usr/local/www/site-python/lib/django-trunk/django/contrib/auth/management/__init__.py", line 85, in get_system_username
return getpass.getuser().decode(locale.getdefaultlocale()[1])
TypeError: decode() argument 1 must be string, not None

确认进入 shell:locale.getdefaultlocale() 在我的 Heroku Cedar 堆栈上返回 (None, None)。我如何设置语言环境以便 python 拾取它?

最佳答案

回答我自己的问题:事实证明这可以通过设置一个 heroku 配置变量来解决,这会导致 python 可以获取一个环境变量,它从 locale.getdefaultlocale() 返回可用的值。

在我的例子中,我使用的 heroku 设置是:

heroku config:add LANG=en_US.UTF-8

(当然,其他编码,尤其是语言值可能对其他人有意义。)

它解决了 createsuperuser 问题,到目前为止,其他一切都很好。 (其他报告建议用户执行 syncdb 并选择创建 super 用户,然后在某些系统上也会遇到同样的错误。)

请注意,任何此类更改都会触发您的实例重启。

关于python - 在 Heroku 上,locale.getdefaultlocale() 返回 (None, None),破坏了 Django createsuperuser——如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com