【发布时间】:2026-01-14 20:10:01
【问题描述】:
我正在尝试在运行 Ubuntu 14.04 的 vagrant box 上 pip install lxml==3.3.5。我无法通过的错误如下。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128)
使用 Python 2.7.6 / PIP 1.5.6 和 VirtualEnv 1.11.6
经过一番搜索,我尝试了最常发布的设置语言环境的解决方案(输出如下)
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
locale -a的输出
C
C.UTF-8
en_US.utf8
POSIX
但这会产生同样的错误。构建失败的完整日志可在here 获得。有什么想法吗?
【问题讨论】:
-
您使用
ubuntu/trusty64框吗? -
我无法使用
ubuntu/trusty64框在 Ubuntu 14.04 上重现此问题。我可以在版本3.3.5中成功构建和安装lxml。构建日志位于paste.openstack.org/show/84586。 -
我正在使用来自cloud-images.ubuntu.com 的云映像,但我会尝试 ubuntu/trusty64 框(vagrant init ubuntu/trusty64)。
-
使用 ubuntu/trusty64 框构建良好,一定是 cloud-images 框上的东西。谢谢克里斯蒂安!
标签: python-2.7 pip lxml python-unicode