2013-02-10 2 views
44

Здравствуйте, когда я пытаюсь установить pylibmc на OSX Lion с помощью пип я получаю следующее сообщение об ошибке:Ошибка при установке pylibmc использованием пип

./_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 

Любые подсказки на том, как решить эту проблему?

+0

У вас есть заголовки libmemcached установлены где угодно? –

+0

Фактически нет Я не – harristrader

ответ

94

libmemcached также может быть установлен с использованием Homebrew.

brew install libmemcached 

После этого pip install pylibmc работал для меня, без необходимости указывать какие-либо дополнительные аргументы.

+27

Я установил его с помощью homebrew, и он был правильно связан, хотя pylibmc не мог найти его в любом случае. Поэтому я должен был указать каталог libmemcached при установке pylibmc, выполнив 'sudo pip install pylibmc --install-option =" - with-libmemcached =/usr/local/Cellar/libmemcached/1.0.18/"' – marcelosalloum

+1

Вы можете попробовать 'brew unlink libmemcached', затем' brew link libmemcached'. В моем случае ссылки были испорчены. Это должно создавать такие ссылки, что '/ usr/local/include/libmemcached/memcached.h' существует. – Neil

+3

Эти решения не сработали для меня. Мне пришлось «экспортировать CPPFLAGS =» - I/usr/local/include «' '' и '' 'export LDFLAGS =" - L/usr/local/lib "' '' – giles

2

я это исправил установкой Memcached из порта

вы должны установить первые MacPorts из http://www.macports.org/

затем запустить эту команду

sudo port install memcached 

после этого загрузить pylibmc из PyPi http://pypi.python.org/pypi/pylibmc экстракта. tar.gz, то

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

, который работал для yosemite, спасибо –

32

Это в пакете libmemcached. Для того, чтобы установить его с помощью MacPorts:

sudo port install libmemcached

Тогда, предполагая, что вы используете пип:

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

или

LIBMEMCACHED=/opt/local pip install pylibmc

, как описано в pylibmc docs.

+1

Да. Это сработало для меня. Благодаря! – philrabin

+0

yep, работает и для меня тоже. –

+0

Работал, но мне приходилось добавлять «судо» перед пипсом. – dan

6

У меня такая же проблема, потому что я установил Memcached и не LIBMEMCACHED, так, чтобы решить:

brew uninstall memcached #to remove wrong package 

brew install libmemcached #install correct lib 

pip install pylibmc 

Его работы для меня!

:)

+0

Я пробовал это, не работал для меня на macOS Sierra – steve

4

Для тех, кто найти этот ответ на Fedora:

sudo yum install libmemcached-devel

0

Иногда инструменты X-Code командной строки должны быть установлены.

xcode-select -p 
24

Я решил эту проблему, проверяя, где Memcached установлен

$ which memcached 
/usr/local/bin/memcached 

, а затем установив LIBMEMCACHED переменных окружений перед пипом установка:

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

Кстати, у меня OS X El Capitan. –

+0

Это сработало хорошо! – myusuf3

+0

Это для El Capitan – morgs32

2

этот код работал для меня

sudo apt-get install libmemcached-dev zlib1g-dev 

    LIBMEMCACHED=/opt/local pip install pylibmc