相关疑难解决方法(0)

Python语言环境错误:不支持的语言环境设置

为什么在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)

python locale ubuntu-11.04

304
推荐指数
8
解决办法
32万
查看次数

docker ubuntu/bin/sh:1:locale-gen:未找到

我将下面的语言环境设置代码放入我的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)

任何的想法?

ubuntu docker

80
推荐指数
2
解决办法
6万
查看次数

在Python中将数字格式化为货币

我从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)

一种解决方案是将此区域设置添加到我的计算机.有没有更好的办法?

python locale currency-formatting

10
推荐指数
1
解决办法
1万
查看次数

无法创建virtualenv

我正在尝试在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)

python virtualenv

0
推荐指数
1
解决办法
1345
查看次数