无法在ubuntu中安装lxml verison 3.3.5

时间:2014-05-09 17:42:41

标签: python lxml openpyxl

我在我的应用程序中使用openpyxl python包。使用相同时我收到以下消息。

  

/usr/local/lib/python2.7/dist-packages/openpyxl/的初始化的.py:31:   UserWarning:已安装的lxml版本太旧而无法使用   openpyxl

     

warnings.warn("已安装的lxml版本太旧,无法与openpyxl一起使用")

Openpyxl需要lxml版本3.2.5或更高版本,我的机器中的版本是3.2.0。当我尝试将lxml升级到最新版本时 3.3.5,它被以下消息打断。

i686-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-i686-2.7/lxml/etree.so

/usr/bin/ld: cannot find -lz

collect2: error: ld returned 1 exit status

error: command 'i686-linux-gnu-gcc' failed with exit status 1

----------------------------------------

  Rolling back uninstall of lxml

  Replacing /usr/lib/python2.7/dist-packages/lxml
  Replacing /usr/lib/python2.7/dist-packages/lxml-3.2.0.egg-info
Cleaning up...

  Removing temporary dir /tmp/pip_build_root...
Command /usr/bin/python -c "import setuptools;__file__='/tmp/pip_build_root/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ov0PUy-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/lxml

我需要帮助来解决问题。

PS: - 我已经在我的机器上安装了lxml依赖包python-dev,libxml2-dev和libxslt1-dev。

3 个答案:

答案 0 :(得分:5)

sudo pip install --upgrade lxml

答案 1 :(得分:3)

在Ubuntu(以及其他Debian衍生产品)上,在构建某个软件之前,请确保已安装其构建依赖项。使用您的示例,运行:

sudo apt-get build-dep python-lxml

这可能需要一大堆软件包,其中一个是 zlib1g-dev as mentioned

答案 2 :(得分:2)

我认为你缺少的是zlib1g-dev。

sudo apt-get install zlib1g-dev

运行上面的命令将解决问题。