Python Azure CLI:UnicodeEncodeError:&x27;ascii';编解码器可以';t编码字符u'\u2018&x27;位置598:序号不在范围内(128)

Python Azure CLI:UnicodeEncodeError:&x27;ascii';编解码器可以';t编码字符u'\u2018&x27;位置598:序号不在范围内(128),python,docker,pip,alpine,azure-cli,Python,Docker,Pip,Alpine,Azure Cli,我在基于alpine的docker容器中使用azure cli。我已经在alpine上使用pip2安装了azure cli 使用azure cli时,在“vm create”命令中,我遇到了上述错误 az login #worked fine but az vm create -n ${VM_NAME} -g ${AZURE_RESOURCE_GROUP} --image ${VHD_URL} --os-type linux -- use-unmanaged-disk -l "Centra

我在基于alpine的docker容器中使用azure cli。我已经在alpine上使用pip2安装了azure cli

使用azure cli时,在“vm create”命令中,我遇到了上述错误

az login #worked fine but 

az vm create -n ${VM_NAME} -g ${AZURE_RESOURCE_GROUP} --image ${VHD_URL} --os-type linux -- 
use-unmanaged-disk -l "Central US" --authentication-type password --admin-username ${USER} -- 
admin-password "${PASSWORD}" --storage-account ${AZURE_STORAGE_ACCOUNT} --storage- 
container-name ${AZURE_CONTAINER} --size Standard_DS3

53 Traceback (most recent call last):
54   File "/usr/lib/python2.7/logging/__init__.py", line 868, in emit
55     msg = self.format(record)
56   File "/usr/lib/python2.7/logging/__init__.py", line 741, in format
57     return fmt.format(record)
58   File "/usr/lib/python2.7/logging/__init__.py", line 469, in format
59     s = self._fmt % record.__dict__
60   File "/usr/lib/python2.7/site-packages/msrestazure/azure_exceptions.py", line 193, in 
__str__
61     return str(self.error)
62   File "/usr/lib/python2.7/site-packages/msrestazure/azure_exceptions.py", line 104, in 
__str__
63     error_str += "\n\tMessage: {}".format(error_obj.message)
64 UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 598: 
ordinal not in range(128)
65 Logged from file util.py, line 47
66 Traceback (most recent call last):
67   File "/usr/lib/python2.7/logging/__init__.py", line 868, in emit
68     msg = self.format(record)
69   File "/usr/lib/python2.7/site-packages/knack/log.py", line 78, in format
70     msg = logging.StreamHandler.format(self, record)
71   File "/usr/lib/python2.7/logging/__init__.py", line 741, in format
72     return fmt.format(record)
73   File "/usr/lib/python2.7/logging/__init__.py", line 469, in format
74     s = self._fmt % record.__dict__
75   File "/usr/lib/python2.7/site-packages/msrestazure/azure_exceptions.py", line 193, in 
__str__
76     return str(self.error)
77   File "/usr/lib/python2.7/site-packages/msrestazure/azure_exceptions.py", line 104, in 
__str__
78     error_str += "\n\tMessage: {}".format(error_obj.message)
79 UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 598: 
ordinal not in range(128)
80 Logged from file util.py, line 47

我知道这是一个python问题,我甚至尝试用pip3安装azure cli,但出现了另一个错误“string没有.message属性”

我们可以告诉您字符是什么;这会有帮助吗?谢谢,但我无法从这些信息中获得任何信息,因为您可以看到我正在运行azure cli命令,该命令正在抛出错误,并且发生错误的文件不是我处理的。可能是其中一个(未正确引用)您传入的字符串可能包含有问题的字符?该命令从去年开始运行良好,并且没有任何改变。那么我怀疑微软的天才们已经“改进”了一条内部错误消息,使其具有卷曲引号。无论如何,您可以配置容器的区域设置以启用Unicode输出吗?请尝试设置导出Python编码=“utf-8”,然后重试。如果
echo“$LC\u ALL”
显示类似
C
POSIX
,请尝试将其设置为
LC\u ALL=“en\u US.utf-8”
。如果这是一个非常小的容器,您可能需要使用
localegen
或类似工具单独启用此区域设置,然后才能工作;但这个盒子已经变得太小,无法覆盖所有的底座。