2014-09-12 25 views
5

tôi đã cố gắng:Làm cách nào để cài đặt các phụ thuộc lxml trên Linux của Amazon EC2?

sudo yum install libxml2-dev libxslt-dev python-dev 

và tôi đã nhận:

Loaded plugins: priorities, update-motd, upgrade-helper 
amzn-main/latest           | 2.1 kB  00:00  
amzn-updates/latest          | 2.3 kB  00:00  
No package libxml2-dev available. 
No package libxslt-dev available. 
No package python-dev available. 

pip đã không làm việc một trong hai.

tôi có các gói như thế này:

git clone --branch lxml-3.2.4 https://github.com/lxml/lxml 

Sau đó, tôi đã cố gắng mà không cython vì sudo python setup.py install đã cho tôi RuntimeError: ERROR: Trying to build without Cython, but pre-generated 'src/lxml/lxml.etree.c' is not available

sudo python setup.py install --without-cython 

Sau đó, tôi nhận:

sudo python setup.py install --without-cython 
Building lxml version 3.2.4. 
WARNING: Trying to build without Cython, but pre-generated 'src/lxml/lxml.etree.c' is not available. 
WARNING: Trying to build without Cython, but pre-generated 'src/lxml/lxml.objectify.c' is not available. 
Building without Cython. 
ERROR: /bin/sh: xslt-config: command not found 

** make sure the development packages of libxml2 and libxslt are installed ** 

Using build configuration of libxslt 
/usr/lib64/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'bugtrack_url' 
    warnings.warn(msg) 
running install 
running bdist_egg 
running egg_info 
writing src/lxml.egg-info/PKG-INFO 
writing top-level names to src/lxml.egg-info/top_level.txt 
writing dependency_links to src/lxml.egg-info/dependency_links.txt 
reading manifest file 'src/lxml.egg-info/SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
warning: no files found matching 'lxml.etree.c' under directory 'src/lxml' 
warning: no files found matching 'lxml.objectify.c' under directory 'src/lxml' 
warning: no files found matching 'lxml.etree.h' under directory 'src/lxml' 
warning: no files found matching 'lxml.etree_api.h' under directory 'src/lxml' 
warning: no files found matching '*.txt' under directory 'src/lxml/tests' 
warning: no files found matching '*.html' under directory 'doc' 
writing manifest file 'src/lxml.egg-info/SOURCES.txt' 
installing library code to build/bdist.linux-x86_64/egg 
running install_lib 
running build_py 
copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.6/lxml/includes 
running build_ext 
building 'lxml.etree' extension 
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/home/ec2-user/lxml/src/lxml/includes -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.6/src/lxml/lxml.etree.o 
gcc: error: src/lxml/lxml.etree.c: No such file or directory 
gcc: fatal error: no input files 
compilation terminated. 
error: command 'gcc' failed with exit status 4 
[[email protected] lxml]$ 

Nó thực sự muốn tôi đến đảm bảo gói phát triển độ tuổi của libxml2 và libxslt được cài đặt.

Nếu tôi có thể làm điều đó, tôi hy vọng nó sẽ hoạt động. Bất kỳ ý tưởng? Cảm ơn! Có vẻ như mọi người có vấn đề liên quan đến vấn đề này, nhưng hầu hết là các hệ thống khác.


UPDATE: Dựa trên đề nghị Vor của tôi đã sử dụng phần mở rộng -devel và làm việc để cài đặt phụ thuộc.

sudo yum install libxml2-devel libxslt-devel python-devel 

Đáng tiếc là tôi có được điều này:

$sudo python setup.py install --without-cython 


Building lxml version 3.4.0. 
WARNING: Trying to build without Cython, but pre-generated 'src/lxml/lxml.etree.c' is not available. 
WARNING: Trying to build without Cython, but pre-generated 'src/lxml/lxml.objectify.c' is not available. 
Building without Cython. 
Using build configuration of libxslt 1.1.28 
Building against libxml2/libxslt in the following directory: /usr/lib64 
/usr/lib64/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'bugtrack_url' 
    warnings.warn(msg) 
running install 
running bdist_egg 
running egg_info 
writing requirements to src/lxml.egg-info/requires.txt 
writing src/lxml.egg-info/PKG-INFO 
writing top-level names to src/lxml.egg-info/top_level.txt 
writing dependency_links to src/lxml.egg-info/dependency_links.txt 
reading manifest file 'src/lxml.egg-info/SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
warning: no files found matching 'lxml.etree.c' under directory 'src/lxml' 
warning: no files found matching 'lxml.objectify.c' under directory 'src/lxml' 
warning: no files found matching 'lxml.etree.h' under directory 'src/lxml' 
warning: no files found matching 'lxml.etree_api.h' under directory 'src/lxml' 
warning: no files found matching '*.html' under directory 'doc' 
writing manifest file 'src/lxml.egg-info/SOURCES.txt' 
installing library code to build/bdist.linux-x86_64/egg 
running install_lib 
running build_py 
copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.6/lxml/includes 
running build_ext 
building 'lxml.etree' extension 
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/libxml2 -I/home/ec2-user/lxml/src/lxml/includes -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.6/src/lxml/lxml.etree.o -w 
gcc: error: src/lxml/lxml.etree.c: No such file or directory 
gcc: fatal error: no input files 
compilation terminated. 
error: command 'gcc' failed with exit status 4 
+0

nếu bạn bỏ phiếu để đóng vì câu hỏi không liên quan đến lập trình, điều đó tốt, nhưng vui lòng trả lời để tôi có thể lập trình. Ngoài ra, không phải là biên dịch và quản lý gói liên quan đến lập trình? – user391339

Trả lời

1

On CentOS nó là python-devel, không python-dev. Điều tương tự với người khác.

+0

Cảm ơn bạn - đã làm việc để cài đặt những phụ thuộc đó. Nó vẫn không giải quyết được vấn đề, nhưng đến gần hơn. Tôi sẽ cập nhật giữ ... – user391339

0

Xây dựng các tệp trung gian bên trái bị hỏng trong quy trình. thử rm -rf/tmp/pip-build-gốc

8

tôi đã cùng một vấn đề. Sau khi dòng này:

sudo yum install libxml2-devel libxslt-devel python-devel 

tôi đã cố gắng một lần nữa với

sudo yum install lxml 

Và nó làm việc :)

+0

Bạn đá, cảm ơn! Đối với AWS ami, tôi cần sử dụng 'sudo/usr/local/bin/easy_install lxml' cho lệnh thứ hai. – dstudeba

+0

Cảm ơn! Điều này làm việc cho tôi. –

+2

'pip install lxml' hoạt động tốt cho tôi (sau khi chạy tập lệnh đầu tiên), nhưng phải mất gần 10 phút để cài đặt thông qua pip. Ban đầu, tôi tiếp tục nhấn 'Ctrl + C' vì tôi nghĩ rằng quá trình này đã đóng băng nhưng cuối cùng nó đã được cài đặt! – capcom

0

Sau đây làm việc cho tôi:

sudo yum install libxml2-devel libxslt-devel python-devel

On AWS EC2 dụ :

Amazon Linux AMI release 2015.09

0

Trên máy tính của AWS của tôi, tôi có cả python2.7 và python3.4 và tôi đã tìm cách để cài đặt lxml cho python3.4 - Tôi thấy rằng tôi đã phải sử dụng

sudo yum install python34-devel 
0

Vấn đề trên EC2 t.micro là bạn hết bộ nhớ để biên dịch gói lxml.

Khi bạn chạy: dmesg | đuôi bạn sẽ thấy những vấn đề

[167588,470868] Hết bộ nhớ: Giết trình 9804 (cc1) điểm 499 hoặc hy sinh con [167588,475046] Quá trình Killed 9804 (cc1) tổng-vm: 693864kB, anon-rss: 521696kB, file-rss: 0kB

Cách duy nhất là cài đặt gói python-lxml qua yum hoặc trình quản lý gói khác.

2
sudo yum install libxml2-devel libxslt-devel python-devel 

thêm

sudo yum install gcc 

và điều này đã làm việc cho tôi.

0

Thêm vào câu trả lời của huapito. Mã sau làm việc cho tôi. sudo yum install gcc libxml2-devel libxslt-devel python-devel sudo pip install lxml

Các vấn đề liên quan