RuntimeWarning:模块'lxml.etree'的编译时版本2.6与运行时版本2.7不匹配

时间:2012-02-27 12:45:48

标签: python version lxml typeerror

我正在使用python 2.7并且我正在尝试使用lxml但是当我尝试使用lxml.etree时出现此错误:

  

RuntimeWarning:模块的编译时版本2.6' lxml.etree'与运行时版本2.7不匹配

然后是这个错误:

  

文件" lxml.etree.pyx",第123行,在init lxml.etree中(src / lxml / lxml.etree.c:160385)   TypeError:encode()参数1必须是不带空字节的字符串,而不是unicode

我尝试使用easy_install并使用pip

进行安装

安装完成后,我会看到这个meassage:

  

已安装/usr/lib/python2.6/site-packages/lxml-2.3.3-py2.6-linux-x86_64.egg

2 个答案:

答案 0 :(得分:2)

确保使用正确的easy_install和pip。当安装easy_install和pip时,无论你用什么版本的python安装它们,它们都会通过符号链接与python版本“匹配”。

如果您使用的是python-2.7,请确保使用easy_install-2.7或pip-2.7。赔率是你使用的点数与2.6交配,它的符号链接是'pip - > pip2.6' 。

如果您使用的是python2.7,请确保正确设置easy_install和pip的符号链接。 (这应该像找到easy_install一样简单,并将其替换为指向easy_install-2.7,然后运行easy_install pip,pip将替换它自己的链接。

使用正确的版本替换easy_install:

wget http://peak.telecommunity.com/dist/ez_setup.py
python2.7 ez_setup.py

应该使用正确的python版本替换现有的easy_install。使用它重新安装pip,以及您需要的任何其他模块。

答案 1 :(得分:0)

我正在使用python 2.7,pip 2.8,并且在安装bs4软件包时出现此错误。谁能帮我。下面是堆栈跟踪:

Map<Branch,List<Pair<String, Any>>>