2013-03-30 208 views
2

我在ubuntu上(在Amazon EC2實例中運行)成功安裝了enthought Python。不過,我嘗試安裝lxml的包在Amazon ec2 ubuntu實例上安裝帶有enthought Python的lxml

/usr/local/bin/pip run on Sat Mar 30 22:05:14 2013 
Downloading/unpacking lxml 

Running setup.py egg_info for package lxml 

/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' 

warnings.warn(msg) 

Building lxml version 3.1.1. 

Building without Cython. 

Using build configuration of libxslt 1.1.26 

Building against libxml2/libxslt in the following directory: /usr/lib/x86_64-linux-gnu 

running egg_info 
writing pip-egg-info/lxml.egg-info/PKG-INFO 
writing top-level names to pip-egg-info/lxml.egg-info/top_level.txt 
writing dependency_links to pip-egg-info/lxml.egg-info/dependency_links.txt 
warning: manifest_maker: standard file '-c' not found 


reading manifest file 'pip-egg-info/lxml.egg-info/SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
warning: no files found matching '*.txt' under directory 'src/lxml/tests' 

writing manifest file 'pip-egg-info/lxml.egg-info/SOURCES.txt' 
Source in /tmp/pip-build-root/lxml has version 3.1.1, which satisfies requirement lxml 
Installing collected packages: lxml 

Running setup.py install for lxml 

Running 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-1bVipz-record/install-record.txt --single-version-externally-managed 
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' 

warnings.warn(msg) 

Building lxml version 3.1.1. 

Building without Cython. 

Using build configuration of libxslt 1.1.26 

Building against libxml2/libxslt in the following directory: /usr/lib/x86_64-linux-gnu 

running install 
running build 
running build_py 
copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.7/lxml/includes 
running build_ext 
building 'lxml.etree' extension 

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-root/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o 

src/lxml/lxml.etree.c: In function ‘__pyx_f_4lxml_5etree__getFilenameForFile’: 

src/lxml/lxml.etree.c:26852:7: warning: variable ‘__pyx_clineno’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c:26851:15: warning: variable ‘__pyx_filename’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c:26850:7: warning: variable ‘__pyx_lineno’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c: In function ‘__pyx_pf_4lxml_5etree_4XSLT_18__call__’: 

src/lxml/lxml.etree.c:138240:81: warning: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [enabled by default] 

src/lxml/lxml.etree.c:136196:52: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’ 

src/lxml/lxml.etree.c: In function ‘__pyx_f_4lxml_5etree__copyXSLT’: 

src/lxml/lxml.etree.c:139634:79: warning: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [enabled by default] 

src/lxml/lxml.etree.c:136196:52: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’ 

src/lxml/lxml.etree.c: At top level: 

src/lxml/lxml.etree.c:12385:13: warning: ‘__pyx_f_4lxml_5etree_displayNode’ defined but not used [-Wunused-function] 

gcc: internal compiler error: Killed (program cc1) 

Please submit a full bug report, 

with preprocessed source if appropriate. 

See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. 

error: command 'gcc' failed with exit status 4 

Complete output from 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-1bVipz-record/install-record.txt --single-version-externally-managed: 

/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' 

warnings.warn(msg) 

Building lxml version 3.1.1. 

Building without Cython. 

Using build configuration of libxslt 1.1.26 

Building against libxml2/libxslt in the following directory: /usr/lib/x86_64-linux-gnu 

running install 

running build 

running build_py 

copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.7/lxml/includes 

running build_ext 

building 'lxml.etree' extension 

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-root/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o 

src/lxml/lxml.etree.c: In function ‘__pyx_f_4lxml_5etree__getFilenameForFile’: 

src/lxml/lxml.etree.c:26852:7: warning: variable ‘__pyx_clineno’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c:26851:15: warning: variable ‘__pyx_filename’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c:26850:7: warning: variable ‘__pyx_lineno’ set but not used [-Wunused-but-set-variable] 

src/lxml/lxml.etree.c: In function ‘__pyx_pf_4lxml_5etree_4XSLT_18__call__’: 

src/lxml/lxml.etree.c:138240:81: warning: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [enabled by default] 

src/lxml/lxml.etree.c:136196:52: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’ 

src/lxml/lxml.etree.c: In function ‘__pyx_f_4lxml_5etree__copyXSLT’: 

src/lxml/lxml.etree.c:139634:79: warning: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [enabled by default] 

src/lxml/lxml.etree.c:136196:52: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’ 

src/lxml/lxml.etree.c: At top level: 

src/lxml/lxml.etree.c:12385:13: warning: ‘__pyx_f_4lxml_5etree_displayNode’ defined but not used [-Wunused-function] 

gcc: internal compiler error: Killed (program cc1) 

Please submit a full bug report, 

with preprocessed source if appropriate. 

See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. 

error: command 'gcc' failed with exit status 4 

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-1bVipz-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/lxml 

Exception information: 
Traceback (most recent call last): 
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 139, in main 
status = self.run(options, args) 
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 271, in run 
requirement_set.install(install_options, global_options, root=options.root_path) 
File "/usr/local/lib/python2.7/dist-packages/pip/req.py", line 1185, in install 
requirement.install(install_options, global_options, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/pip/req.py", line 592, in install 
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) 
File "/usr/local/lib/python2.7/dist-packages/pip/util.py", line 662, in call_subprocess 
% (command_desc, proc.returncode, cwd)) 
InstallationError: 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-1bVipz-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/lxml 

回答

3

編譯LXML你需要有一對夫婦的開發庫的首次安裝時出現以下錯誤(登錄插入)。在Ubuntu上,您可以安裝這些軟件:

sudo apt-get install libxml2-dev libxslt-dev 
8

我在我的實例中發現了相同的問題。事實證明,編譯lxml需要大量內存,而且我的實例用完了RAM,所以內核正在殺死編譯器。

要檢查您是否有同樣的問題,請嘗試在失敗後運行dmesg|tail。你會看到一些線,如:

[2242482.581361] Out of memory: Kill process 8306 (cc1) score 432 or sacrifice child 
[2242482.581375] Killed process 8306 (cc1) total-vm:298572kB, anon-rss:260756kB, file-rss:4kB 
+5

你是如何解決這個問題的?有沒有解決方法來安裝'lxml'? – SiddharthaRT

4

要在AWS微實例安裝lxml嘗試按照下列步驟操作:

sudo yum install python-devel 
sudo yum install libxml2-devel 
sudo yum install libxslt-devel 
sudo yum install gcc   
sudo easy_install pip 
sudo pip install lxml 

記住,亞馬遜只保留可安裝一些選定的文件,有時用不同的名字。如果你看看:

yum info python-dev 

,你會發現只是一個錯誤:

Error: No matching Packages to list 

但是......

yum info python-devel 

會告訴你需要什麼

Name  : python-devel 
Arch  : noarch 
Epoch  : 1 
Version  : 2.6 
Release  : 2.26.amzn1 
Size  : 0.0 
Repo  : installed 
From repo : amzn-main 
Summary  : The libraries and header files needed for Python 
      : development. 
URL   : http://www.python.org/ 
License  : PSF 
Description : This is a macro package that pulls in via 
      : dependencies the system default python development 
      : extensions. 
+0

你的問題和問題到底是什麼?看來你知道如何解決至少一個問題。 –

0

要加上Daniel的回答,除了安裝libxslt-devel之外,蟒蛇-devel的,的libxml2-devel的

sudo yum groupinstall -y development 
sudo yum install libxslt-devel, python-devel, libxml2-devel 

,如果你有此類似的消息:

[2242482.581361] Out of memory: Kill process 8306 (cc1) score 432 or sacrifice child 
[2242482.581375] Killed process 8306 (cc1) total-vm:298572kB, anon-rss:260756kB, file-rss:4kB 

你可以創建一個交換文件,以補足你的內存,例如在交換文件512MB的補充:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k 
sudo mkswap /swapfile 
sudo swapon /swapfile 
compile lxml 

來源:遇到了這個問題,並最終確定它。

相關問題