Fehler bei der Installation von pylibmc mit pip


72

Hallo, wenn ich versuche, pylibmc unter OS mit Lion zu installieren, wird folgende Fehlermeldung angezeigt:

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

Irgendwelche Hinweise, wie man dieses Problem löst?


Haben Sie die libmemcached-Header irgendwo installiert?
Martijn Pieters

Vielen Dank, ich habe diesen Fehler bei der Installation der Anforderungen für die Ausführung der Tests von djangoproject festgestellt. Veröffentlichen Sie es hier, damit sich neue Mitwirkende, wenn sie sich diesem Problem stellen und hierher gelangen, sicher auf die Lösung verlassen könnenbrew install libmemcached
Deep

Antworten:


133

libmemcached kann auch mit Homebrew installiert werden .

brew install libmemcached

Danach pip install pylibmcarbeitete für mich, ohne zusätzliche Argumente angeben zu müssen.


27
Ich habe es mit Homebrew installiert und es war korrekt verknüpft, obwohl pylibmc es so oder so nicht finden konnte. Also musste ich auf das libmemcached-Verzeichnis verweisen, wenn ich pylibmc installierte, indem ichsudo pip install pylibmc --install-option="--with-libmemcached=/usr/local/Cellar/libmemcached/1.0.18/"
marcelosalloum

1
Sie können es brew unlink libmemcacheddann versuchen brew link libmemcached. In meinem Fall waren die Links durcheinander. Dadurch sollten vorhandene Links erstellt werden /usr/local/include/libmemcached/memcached.h.
Neil

5
Diese Lösungen haben bei mir nicht funktioniert. Ich musste export CPPFLAGS="-I/usr/local/include"undexport LDFLAGS="-L/usr/local/lib"
giles

brew unlink libmemcacheddann brew link memcachedarbeitete für mich! Dank @Neil
steve

Die Standardeinstellungen haben sich irgendwann geändert und Sie müssen sicherstellen, dass CFLAGS / LDFLAGS eingestellt sind. Der beste Weg, dies zu tun, ist zu verwenden pkg-config( brew install pkg-configwenn Sie es nicht haben), so dass die aktuell installierte Version für die Include- und Bibliotheksdateien verwendet wird: CFLAGS=$(pkg-config --cflags libmemcached) LDFLAGS=$(pkg-config --libs libmemcached) pip install pylibmc
Chris Adams

35

Es ist im libmemcached-Paket. So installieren Sie es mit Macports:

sudo port install libmemcached

Angenommen, Sie verwenden pip:

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

oder

LIBMEMCACHED=/opt/local pip install pylibmc

wie in den pylibmc-Dokumenten erklärt .


Gearbeitet, aber ich musste prepend ein ‚sudo‘ vor dem Pip
dan

33

Ich habe dieses Problem gelöst, indem ich überprüft habe, wo memcached installiert ist

$ which memcached
/usr/local/bin/memcached

und dann Festlegen der Umgebungsvariablen LIBMEMCACHED vor der Pip-Installation:

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

Ich habe übrigens OS X El Capitan.
Aidas Bendoraitis

Dies ist die für El Capitan
Morgs32

1
Funktioniert für mich unter macOS Sierra ^^
Teddy Cross

Arbeitete für mich auf macOS Mojave, python3.7
Vivek

6

Ich habe das gleiche Problem, weil ich MEMCACHED und nicht LIBMEMCACHED installiert habe, um Folgendes zu beheben:

brew uninstall memcached #to remove wrong package

brew install libmemcached #install correct lib

pip install pylibmc

Es funktioniert für mich!

:)


Brew lehnte es ab, memcached zu deinstallieren, da libmemcached eine installierte Abhängigkeit ist. Ich gehe davon aus, dass das, was Sie tatsächlich getan haben, neu installiert wird memcached.
John Mee

4

Für diejenigen, die diese Antwort auf Fedora finden:

sudo yum install libmemcached-devel



2

Ich habe dies behoben, indem ich memcached vom Port installiert habe

Sie sollten zuerst Macports von http://www.macports.org/ installieren.

Führen Sie dann diesen Befehl aus

sudo port install memcached

Laden Sie anschließend die Datei pylibmc von der Datei pypi http://pypi.python.org/pypi/pylibmc herunter und extrahieren Sie die .tar.gz-Datei

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

2

Dieser Code ist für mich gearbeitet

  sudo apt-get install libmemcached-dev zlib1g-dev

  LIBMEMCACHED=/opt/local pip install pylibmc

2

Treffen Sie den gleichen Fehler mit macOS High Sierra, Python3.6, das mit Brew installiert wurde. Die Lösung für mich bestand darin, diese Flags zu exportieren, die in diesem Kommentar erwähnt werden: Fehler bei der Installation von pylibmc mit pip

export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"

Danach pip installlaufen Sie gut.


0

Manchmal müssen die X-Code-Befehlszeilentools installiert werden.

 xcode-select -p
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.