在ubuntu上安装PyXML

时间:2013-11-06 14:14:59

标签: python package

我需要在python 2.7.5上安装PyXML,

:~/Desktop/PyXML-0.8.4$ sudo python setup.py install 
running install
running build
running build_py
running build_ext
building '_xmlplus.parsers.pyexpat' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DXML_NS=1 -DXML_DTD=1 -DBYTEORDER=1234 -DXML_CONTEXT_BYTES=1024 -Iextensions/expat/lib -I/usr/include/python2.7 -c extensions/pyexpat.c -o build/temp.linux-x86_64-2.7/extensions/pyexpat.o
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DXML_NS=1 -DXML_DTD=1 -DBYTEORDER=1234 -DXML_CONTEXT_BYTES=1024 -Iextensions/expat/lib -I/usr/include/python2.7 -c extensions/expat/lib/xmlparse.c -o build/temp.linux-x86_64-2.7/extensions/expat/lib/xmlparse.o
extensions/expat/lib/xmlparse.c:75:2: error: #error memmove does not exist on this platform, nor is a substitute available
 #error memmove does not exist on this platform, nor is a substitute available
  ^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

我如何解决此错误? 编辑:

~/Desktop/pyhrf-0.2$ sudo apt-get install python2.7-dev
[sudo] password for vahid: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python2.7-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 21 not upgraded.

EDIT2:

sudo apt-get install python-xml
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python-xml

3 个答案:

答案 0 :(得分:11)

最好的方法是在#define HAVE_MEMMOVE 1的顶部添加/usr/include/python2.7/pyconfig.h

参考:https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1238244/

答案 1 :(得分:1)

以下在Ubuntu 12.10上为我工作:

sudo apt-get install pip

sudo pip install PyXML

Downloading/unpacking PyXML
Running setup.py egg_info for package PyXML

答案 2 :(得分:-1)

我认为您需要先安装python2.7-dev

尝试:

sudo apt-get install python2.7-dev

另外,在安装python模块时最好使用pip ..无论如何都要试一试。