2013-02-10 35 views
44

Xin chào khi tôi cố gắng để cài đặt pylibmc trên OSX Lion sử dụng pip tôi nhận được lỗi sau:Lỗi khi cài đặt pylibmc sử dụng pip

./_pylibmcmodule.h:42:10: fatal error: 'libmemcached/memcached.h' file not found 

#include <libmemcached/memcached.h> 

     ^

1 error generated. 

error: command 'clang' failed with exit status 1 

Bất kỳ manh mối như thế nào để giải quyết vấn đề này?

+0

Bạn có các tiêu đề libmemcached cài đặt bất cứ nơi nào? –

+0

thực sự không có tôi không – harristrader

Trả lời

94

libmemcached cũng có thể được cài đặt bằng cách sử dụng Homebrew.

brew install libmemcached 

Sau đó, pip install pylibmc đã làm việc cho tôi mà không cần chỉ định bất kỳ đối số bổ sung nào.

+27

Tôi đã cài đặt nó bằng cách sử dụng homebrew và nó đã được liên kết một cách chính xác, mặc dù pylibmc không thể tìm thấy nó theo một trong hai cách. Vì vậy, tôi phải trỏ thư mục libmemcached khi cài đặt pylibmc bằng cách chạy 'sudo pip install pylibmc --install-option =" - with-libmemcached =/usr/local/Cellar/libmemcached/1.0.18/"' – marcelosalloum

+1

Bạn có thể thử 'brew unlink libmemcached', sau đó' brew link libmemcached'. Trong trường hợp của tôi, các liên kết bị rối tung lên. Điều này sẽ tạo các liên kết sao cho '/ usr/local/include/libmemcached/memcached.h' tồn tại. – Neil

+3

Các giải pháp này không hiệu quả đối với tôi. Tôi đã phải xuất khẩu '' 'CPPFLAGS =" - I/usr/local/include "' '' và '' 'xuất LDFLAGS =" - L/usr/local/lib "' '' – giles

2

i cố định này bằng cách cài đặt memcached từ cổng

bạn nên cài đặt macports đầu tiên từ http://www.macports.org/

sau đó chạy lệnh này

sudo port install memcached 

sau đó tải về pylibmc từ pypi http://pypi.python.org/pypi/pylibmc chiết xuất. tập tin tar.gz sau đó

python setup.py install --with-libmemcached=/opt/local 
+0

làm việc cho yosemite, cảm ơn –

32

Nó nằm trong gói libmemcached. Để cài đặt nó bằng cách sử macports:

sudo port install libmemcached

Sau đó, giả sử bạn đang sử dụng pip:

pip install pylibmc --install-option="--with-libmemcached=/opt/local"

hoặc

LIBMEMCACHED=/opt/local pip install pylibmc

như được giải thích trong pylibmc docs.

+1

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

+0

yep, cũng hoạt động với tôi. –

+0

Đã làm việc, nhưng tôi phải thêm một 'sudo' trước khi pip – dan

6

Tôi có cùng một vấn đề, vì tôi đã cài đặt memcached và không LIBMEMCACHED, vì vậy, để giải quyết:

brew uninstall memcached #to remove wrong package 

brew install libmemcached #install correct lib 

pip install pylibmc 

nó trình cho tôi!

:)

+0

Tôi đã thử cách này, không hoạt động với tôi trên macOS Sierra – steve

4

Đối với những người tìm kiếm câu trả lời này trên Fedora:

sudo yum install libmemcached-devel

0

Đôi khi các công cụ X-Code Command Line cần phải được cài đặt.

xcode-select -p 
24

tôi giải quyết vấn đề này bằng cách kiểm tra nơi memcached được cài đặt

$ which memcached 
/usr/local/bin/memcached 

và sau đó thiết lập biến môi trường LIBMEMCACHED trước pip cài đặt:

$ export LIBMEMCACHED=/usr/local 
$ pip install pylibmc 
+0

Nhân tiện, tôi có OS X El Capitan. –

+0

Điều này hoạt động tốt! – myusuf3

+0

Đây là trên cho El Capitan – morgs32

2

mã này được làm việc cho tôi

sudo apt-get install libmemcached-dev zlib1g-dev 

    LIBMEMCACHED=/opt/local pip install pylibmc 
Các vấn đề liên quan