为什么在python中执行此操作时会出现以下错误:
>>> import locale
>>> print str( locale.getlocale() )
(None, None)
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/locale.py", line 531, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
Run Code Online (Sandbox Code Playgroud)
这适用于其他语言环境,如fr或nl.我正在使用Ubuntu 11.04.
更新:执行以下操作不会产生任何结果:
dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to …Run Code Online (Sandbox Code Playgroud) 我将下面的语言环境设置代码放入我的dockerfile中,
FROM node:4-onbuild
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
但它给了我错误
/bin/sh: 1: locale-gen: not found
The command '/bin/sh -c locale-gen en_US.UTF-8' returned a non-zero code: 127
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我从Python中的货币格式学习,使用语言环境模块将数字格式化为货币.例如,
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import locale
value = 123456789
l = locale.setlocale(locale.LC_ALL, '') # LC_CTYPE=en_US.UTF-8;LC_NUMERIC=fr_FR.UTF-8;LC_TIME=fr_FR.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=fr_FR.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=fr_FR.UTF-8;LC_NAME=fr_FR.UTF-8;LC_ADDRESS=fr_FR.UTF-8;LC_TELEPHONE=fr_FR.UTF-8;LC_MEASUREMENT=fr_FR.UTF-8;LC_IDENTIFICATION=fr_FR.UTF-8
s = locale.currency(value, grouping=True) # 123 456 789,00 €
locale.setlocale(locale.LC_ALL, 'en_US.utf-8')
s = locale.currency(value, grouping=True) # $123,456,789.00
locale.setlocale(locale.LC_ALL, 'en_US') # WHY? locale.Error: unsupported locale setting
s = locale.currency(value, grouping=True)
Run Code Online (Sandbox Code Playgroud)
比方说,我想将数字格式化为其他货币de_DE.我遇到了这个问题,locale.Error: unsupported locale setting因为语言环境de_DE不在列表中locale -a.
locale.setlocale(locale.LC_ALL, 'de_DE') # locale.Error: unsupported locale setting
s = locale.currency(value, grouping=True)
Run Code Online (Sandbox Code Playgroud)
一种解决方案是将此区域设置添加到我的计算机.有没有更好的办法?
我正在尝试在Linux服务器上创建虚拟环境.但是我收到以下错误:
$ virtualenv venv2
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/org/cpmf2-biotec/apps/venv2/bin/python2
Also creating executable in /home/org/cpmf2-biotec/apps/venv2/bin/python
Installing setuptools, pkg_resources, pip, wheel...
Complete output from command /home/org/cpmf2-biotec/apps/venv2/bin/python2 - setuptools pkg_resources pip wheel:
Traceback (most recent call last):
File "<stdin>", line 24, in <module>
File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/__init__.py", line 215, in main
File "/home/org/cpmf2-biotec/apps/venv2/lib/python2.7/locale.py", line 581, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in …Run Code Online (Sandbox Code Playgroud)