【问题标题】:Python 2.7 pip install lxml UnicodeDecodeErrorPython 2.7 pip install lxml UnicodeDecodeError
【发布时间】: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


【解决方案1】:

将框切换到 ubuntu/trusty64 解决了构建 lxml 的问题。我不确定云图像的根本原因是什么。

【讨论】: