2012-06-15 41 views
8

Chào buổi sáng,Cài đặt homebrew libxml2 với các mô-đun python

Tôi đang cố gắng cài đặt libxml2 với các mô-đun python. Tôi đã thử các cách sau:

brew install --with-python libxml2                 
==> Downloading ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz 
Already downloaded: /Users/brandon/Library/Caches/Homebrew/libxml2-2.8.0.tar.gz 
==> ./configure --prefix=/usr/local/Cellar/libxml2/2.8.0 --without-python 

Như bạn có thể thấy ... ngay cả với cờ --with-python, nó vẫn đang định cấu hình nguồn mà không cần python!

Vào cuối quá trình cài đặt, homebrew nói:

Generally there are no consequences of this for you. 
If you build your own software and it requires this formula, you'll need 
to add its lib & include paths to your build variables: 

    LDFLAGS -L/usr/local/Cellar/libxml2/2.8.0/lib 
    CPPFLAGS -I/usr/local/Cellar/libxml2/2.8.0/include 

Khi tôi cố gắng để cài đặt các gói gnome-doc-utils:

Gnome-doc-utils requires libxml2 to be compiled 
with the python modules enabled, to do so: 
    $ brew install libxml2 --with-python 

Vì vậy, rõ ràng là tôi đã cố gắng một lần nữa ...

╰─ brew install libxml2 --with-python 
Error: libxml2-2.8.0 already installed 

Tôi vẫn còn mới đối với điều này ... vì vậy mọi trợ giúp sẽ được đánh giá cao.

+0

Bạn có lý do nào để không sử dụng [pip] (http://pypi.python.org/pypi/pip/) (hoặc [easy_install] (http://packages.python.org/distribute/easy_install. html) là phương sách cuối cùng)? Chúng hoạt động tốt hơn nhiều so với các công cụ đóng gói khác - và làm việc với [virtualenv] (http://pypi.python.org/pypi/virtualenv/)! – brandizzi

Trả lời

14

Trước tiên, bạn không thể cài đặt libxml2 vì bạn đã cài đặt thành công nó, vì vậy trước tiên bạn cần gỡ cài đặt nó.

brew uninstall libxml2

Tiếp theo, bạn sẽ cần phải chỉnh sửa công thức brew - đó là đủ đơn giản để làm -

loại brew edit libxml2 và thay đổi dòng

system "./configure", "--prefix=#{prefix}", "--without-python" 

này:

system "./configure", "--prefix=#{prefix}", "--with-python" 

Điều này không khắc phục được vấn đề với công thức pha, nhưng nó buộc cờ "--with-python", vì vậy lần sau bạn gõ brew install libxml2 nó sẽ cài đặt các thư viện python.

Nếu bạn cần phải thiết lập lại các công thức (undo thay đổi của bạn), bạn chỉ cần gõ brew update

+0

Cảm ơn bạn rất nhiều, điều này đã khắc phục được sự cố của tôi sau khi tìm kiếm khá lâu! –

+6

Tôi đã thử điều này nhưng 'make install' không thành công với' *** [install-am] Lỗi 2' và '*** [install-recursive] Lỗi 1'. –

3

gì làm việc cho được cài đặt libxml2 với --with-python trong lệnh brew

brew install --with-python libxml2 
7

này làm việc cho tôi . bỏ liên kết đầu tiên/gỡ bỏ cài đặt nếu được thực hiện trước đó:

brew unlink libxml2 
brew unlink libxslt 
brew uninstall libxml2 
brew uninstall libxslt 

Sau đó

brew install --framework python 
brew install --with-python libxml2 
brew install --with-python libxslt 
brew link libxml2 --force 
brew link libxslt --force 

Voila!

+1

Điều này đã giúp tôi khắc phục một số vấn đề mà tôi đã gặp phải khi sử dụng trình phân tích cú pháp lxml trong Beautifulsoup với phiên bản cài đặt sẵn của Python để cảm ơn bạn! –

+1

"python không có tùy chọn --framework" –

+0

điểm của đơn đặt hàng: brew sẽ khiếu nại nếu bạn thử và gỡ cài đặt libxml2 * trước * libxslt, bởi vì trước đây được yêu cầu bởi sau này. Chuyển đổi thứ tự của các lượt gỡ cài đặt đã hoạt động đối với tôi –