2009-12-15 25 views
30

Tôi đang cố gắng cài đặt libxml2 để tôi có thể thiết lập các ràng buộc python và cuối cùng sử dụng lxml.Cài đặt libxml2 và các liên kết python liên quan - Windows

Tuy nhiên tôi không thể làm việc ở đây trên trái đất mà tôi phải giải nén các tệp. Tôi chưa thể google thành công.

Tôi có cần Cygwin/MinGW để cài đặt thành công không?

Hiện tại tôi có các tệp từ libxml2.tar.gz và libxslt.tar.gz trong các thư mục tương ứng trong thư mục Python của tôi. Vì vậy, các tập tin trong các tars dưới bao gồm trong Python26 \ include \ libxml2 \ libxml ... và cứ thế.

tuy nhiên khi tôi chạy một lxml easy_install tôi nhận được kết quả như sau:

Searching for lxml 
Reading http://pypi.python.org/simple/lxml/ 
Reading http://codespeak.net/lxml 
Best match: lxml 2.2.4 
Downloading http://codespeak.net/lxml/lxml-2.2.4.tgz 
Processing lxml-2.2.4.tgz 
Running lxml-2.2.4\setup.py -q bdist_egg --dist-dir c:\users\rocco\appdata\local 
\temp\easy_install-1xwbhy\lxml-2.2.4\egg-dist-tmp-9zwhe4 
Building lxml version 2.2.4. 
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' need 
s to be available. 
ERROR: 'xslt-config' is not recognized as an internal or external command, 
operable program or batch file. 

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

Using build configuration of libxslt 
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 'etree_defs.h' under directory 'src\lxml' 
warning: no files found matching 'pubkey.asc' under directory 'doc' 
warning: no files found matching 'tagpython*.png' under directory 'doc' 
error: Setup script exited with error: Unable to find vcvarsall.bat 

Bất kỳ sự giúp đỡ nào sẽ rất hữu ích khi tôi đã cố gắng để có được điều này sẽ trong hơn một tuần nay :(

Cảm ơn

+0

Tôi gặp vấn đề tương tự, cố gắng cài đặt lxml 2.2.6 (Tôi cũng đã thử 2.2.4 và 2.2.5). Thật khó chịu, tôi phải sử dụng thư viện dựng sẵn cho 2.2.2 như đề xuất của S.Mark bên dưới. Nó sẽ là tuyệt vời nếu ai đó có thể biên dịch phiên bản 2.2.6 cho Python 2.6 (có 2.4 và 2.5 xây dựng, sau khi tất cả):/ – ropable

+1

Trả lời cho câu hỏi này: http: // stackoverflow.com/questions/3047542/# 5122521 –

Trả lời

28

Nếu bạn không có lý do đặc biệt để biên dịch từ nguồn, bạn có thể sử dụng prebuilt binaries cho lxml

+0

Cảm ơn bạn - vừa lưu cho tôi toàn bộ tải phức tạp! –

+11

Tại sao khi tôi cố gắng thực hiện 'pip install lxml' hoặc' easy_install lxml', nó cố gắng xây dựng từ nguồn? Tôi có thể làm pip tải xuống các tệp nhị phân dựng sẵn không? –

+3

@Mridang 'easy_install URL_TO_EGG' để cài đặt các tệp nhị phân dựng sẵn. Nhận url chính xác trên trang pypi hoặc trang khác: http://pypi.python.org/pypi/lxml/2.2.2 –

0

dường như t chương trình "xslt-config" không nằm trong thư mục trong môi trường PATH của bạn. Dưới đây là một bài viết về cách thiết lập PATH trên Windows:

http://www.cs.usask.ca/~wew036/latex/env.html

+2

Nó không chỉ đơn giản là một vấn đề PATH: xslt-config bị thiếu. – jdigital

3

Nếu bạn đang sử dụng python 2.5.x, chỉ cần sử dụng "lxml easy_install == 2.2.2" để cài đặt

33

Các mã nhị phân của Windows của phiên bản lxml mới nhất (cũng như một loạt các gói Python khác) có sẵn trên http://www.lfd.uci.edu/~gohlke/pythonlibs/

+0

Wow..này là tuyệt vời! Cảm ơn – detj

+6

+1: nhị phân cho Python 2.7 có sẵn tại trang web này nhưng không phải tại pypi – jdigital

+2

nó nói 32 và 64. Vì vậy, tôi đã tải xuống một 64, sau đó nó nói: lxml-3.6.4-cp27-cp27m-win_amd64.whl không một bánh xe được hỗ trợ trên nền tảng này. Vì vậy, tôi đã cài đặt 32 cái. Và nó hoạt động! – Tiina

3

Nhận ra đây là một chủ đề cũ nhưng đã gặp sự cố khi cài đặt trên cửa sổ.

Tôi có phiên bản Python 3.4.4.

Khi cố gắng cài đặt các tệp whl, hãy đảm bảo bạn đang sử dụng đúng phiên bản cho phiên bản python của bạn.

như vậy trong trường hợp này tôi cần thiết để sử dụng

lxml‑3.4.4‑cp34‑none‑win_amd64.whl 

và không phải là mới nhất đó là

lxml-3.4.4-cp35-none-win_amd64.whl

cp34 chỉ ra python phiên bản được xây dựng cho nó.

Bẫy cho người chơi mới ...!

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