CentOS 6.3上的Python lxml etree
我的服务器上有Centos 6,我一直在尝试为它安装一些软件包(模块)。我刚刚将windows上的文件带到ftp客户机的CentOS 6.3上的Python lxml etree,python,centos,lxml,centos6,Python,Centos,Lxml,Centos6,我的服务器上有Centos 6,我一直在尝试为它安装一些软件包(模块)。我刚刚将windows上的文件带到ftp客户机的/usr/lib/python2.6/site包中,但当我运行脚本时,其中一个文件-lxml给了我一个错误: File "plugins/util/http.py", line 12, in <module> from lxml import etree, html File "/usr/lib/python2.6/site-packages/lxml/
/usr/lib/python2.6/site包中,但当我运行脚本时,其中一个文件-lxml给了我一个错误:
File "plugins/util/http.py", line 12, in <module>
from lxml import etree, html
File "/usr/lib/python2.6/site-packages/lxml/html/__init__.py", line 12, in <module>
ImportError: cannot import name etree
文件“plugins/util/http.py”,第12行,在
从lxml导入etree、html
文件“/usr/lib/python2.6/site packages/lxml/html/_init__.py”,第12行,在
ImportError:无法导入名称etree
同样的代码在Windows7和LinuxUbuntu10.04上运行得非常好
有人知道它为什么返回这个错误吗?我没有修改任何东西,只是将模块从windows移动到我的vps上的python2.6目录
@根目录:
>>> import lxml;print lxml
<module 'lxml' from '/usr/lib/python2.6/site-packages/lxml/__init__.pyc'>
>>>
>导入lxml;打印lxml
>>>
@免疫球蛋白
gcc-pthread-fno严格别名-O2-g-pipe-Wall-Wp-D_-FORTIFY_SOURCE=2-feexceptions-fstack protector-param=ssp buffer size=4-m32-march=i686-mtune=atom-fasynchronous unwind tables-D_GNU SOURCE-fPIC-fwrapv-DNDEBUG-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-feexceptions-fstack protector-param=ssp buffer size=4-m32-march=i686-mtune=atom-fasynchronous diswind tables-D_GNU SOURCE-fPIC-fwrapv-fPIC-I/usr/include/libxml2-I/tmp/pip build/lxml/src/lxml/includes-I/usr/python2.6-c-src/lxml/lxml/etree.c-o build/temp-linux-i686-2.6/src/etro/lxml
无法执行gcc:没有这样的文件或目录
错误:命令“gcc”失败,退出状态为1lxml
不是纯Python模块。它主要是用语言编写的,因此编译成本机代码。Windows计算机上的二进制文件与CentOS(以及一般的Linux)不兼容
最好按照说明进行操作,即安装libxslt-devel
和libxml2-devel
软件包,并使用pip
编译lxml
,或者自己手动编译。如果你自己去编译,可以在lxml
网站上找到一些有用的信息和进一步的信息
安装
我没有CentOS机器来测试这个。最简单的安装方法是通过ip,该方法应作为软件包通过Yum提供。如果没有,您可以使用以下命令安装它(来自的文档,这是pip的先决条件):
从那里开始,只需运行:
pip install lxml
它应该安装得很好
如果您想跳过pip(不过,最终,pip会使管理依赖项变得更容易,因此值得一做)
在上找到lxml的适当版本
从下载URL下载源代码(应该是tar.gz
文件)
使用tar-xzf lxml-.tar.gz
cd
到提取的目录中,然后运行python setup.py install
请注意,如果您的安装只能由root用户修改,则可能需要以root用户身份运行上述任何命令。安装命令有python distribute\u setup.py
、easy\u install pip
和python setup.py install
或从EPEL安装(最简单的方法):
什么是导入lxml;打印lxml
print?@root,编辑了我的第一篇文章。当您尝试从解释器导入etree时,是否会出现相同的错误?或者,如果您在脚本的开头添加了在interpeter中使用的同一行,它是否会打印相同的结果?@root,是的,它仍然会显示上面的错误。“已安装并最新版本的程序包libxml2-devel-2.7.6-8.el6_3.4.i686”+“已安装并最新版本的程序包libxslt-devel-1.1.26-2.el6_3.1.i686”好的,我现在要做的就是用pip或我自己编译它?你能告诉我如何自己编译它吗,从来没有处理过这样的事情..谢谢你提供的信息,我用pip做的,因为它看起来更简单,但我仍然有一些错误。我编辑了我的第一篇文章,因为它使我的评论太长了。我想安装差不多完成了,我做了所有应该做的事情。
pip install lxml
# install EPEL if you don't have it yet
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# instal python-lxml
sudo yum -y install python-lxml