2013-02-10 10 views
44

Ciao quando tento di installare pylibmc su OSX Lion utilizzando pip ottengo il seguente errore:errore quando installare pylibmc utilizza 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 

Degli indizi a come risolvere questo problema?

+0

Avete le intestazioni libmemcached installate dovunque? –

+0

in realtà no io non – harristrader

risposta

94

libmemcached può anche essere installato utilizzando Homebrew.

brew install libmemcached 

Dopo di che, pip install pylibmc ha lavorato per me, senza necessità di specificare nessun argomenti aggiuntivi.

+27

L'ho installato usando homebrew ed era collegato correttamente, sebbene pylibmc non potesse trovarlo in entrambi i modi. Quindi ho dovuto puntare la directory libmemcached durante l'installazione di pylibmc eseguendo 'sudo pip install pylibmc --install-option =" - with-libmemcached =/usr/local/Cellar/libmemcached/1.0.18/"' – marcelosalloum

+1

Puoi provare 'brew unlink libmemcached', quindi' brew link libmemcached'. Nel mio caso i collegamenti erano incasinati. Questo dovrebbe creare collegamenti tali che '/ usr/local/include/libmemcached/memcached.h' esista. – Neil

+3

Queste soluzioni non hanno funzionato per me. Ho dovuto '' 'esportare CPPFLAGS =" - I/usr/local/include "' '' e '' 'esportare LDFLAGS =" - L/usr/local/lib "' '' – giles

2

Ho fissato questo con l'installazione di memcached dal porto

è necessario installare prima macports da http://www.macports.org/

quindi eseguire il comando

sudo port install memcached 

dopo che scaricano il pylibmc dal PyPI http://pypi.python.org/pypi/pylibmc estratto. file tar.gz quindi

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

che ha funzionato per yosemite, grazie –

32

È nel pacchetto libmemcached. Per installarlo utilizzando MacPorts:

sudo port install libmemcached

Quindi, supponendo che si sta utilizzando pip:

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

o

LIBMEMCACHED=/opt/local pip install pylibmc

come spiegato nella pylibmc docs.

+1

Sì. Questo ha funzionato per me. Grazie! – philrabin

+0

sì, funziona anche per me. –

+0

Ha funzionato, ma ho dovuto anteporre un 'sudo' prima del pip – dan

6

Ho lo stesso problema, perché ho installato Memcached e non LIBMEMCACHED, quindi, per risolvere:

brew uninstall memcached #to remove wrong package 

brew install libmemcached #install correct lib 

pip install pylibmc 

sue opere per me!

:)

+0

Ho provato questo, non ha funzionato per me su macOS Sierra – steve

4

Per coloro che trovare questa risposta su Fedora:

sudo yum install libmemcached-devel

0

A volte gli strumenti X-Code riga di comando devono essere installati.

xcode-select -p 
24

Ho risolto questo problema verificando in cui memcached è installato

$ which memcached 
/usr/local/bin/memcached 

e quindi impostando variabile d'ambiente LIBMEMCACHED prima pip installare:

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

A proposito, ho OS X El Capitan. –

+0

Questo ha funzionato bene! – myusuf3

+0

Questo è il on per El Capitan – morgs32

2

questo codice è lavorato per me

sudo apt-get install libmemcached-dev zlib1g-dev 

    LIBMEMCACHED=/opt/local pip install pylibmc