使用pip安装pylibmc时出错


72

您好,当我尝试使用pip在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

关于如何解决此问题的任何线索?


您是否在任何地方都安装了libmemcached标头?
马丁·皮特斯

谢谢,我在安装运行djangoproject的测试的要求时遇到了此错误。在这里张贴因此,如果以某种方式新的贡献者面对这个问题,并到达这里,他们可以放心依靠的解决方案brew install libmemcached

Answers:


134

libmemcached也可以使用Homebrew安装。

brew install libmemcached

之后,pip install pylibmc无需指定任何其他参数即可为我工作。


27
我使用自制软件安装了它,并正确链接了它,尽管pylibmc都找不到它。因此,在运行时安装pylibmc时,我必须指向libmemcached目录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 2015年

5
这些解决方案对我不起作用。我必须export CPPFLAGS="-I/usr/local/include"export LDFLAGS="-L/usr/local/lib"
giles

brew unlink libmemcached然后brew link memcached为我工作!感谢@Neil
史蒂夫

默认值在某些时候已更改,您需要确保设置了CFLAGS / LDFLAGS。最好的方法是使用pkg-configbrew install pkg-config如果没有的话),以便将当前安装的版本用于包含和库文件: CFLAGS=$(pkg-config --cflags libmemcached) LDFLAGS=$(pkg-config --libs libmemcached) pip install pylibmc
Chris Adams

35

它在libmemcached包中。要使用macports安装它:

sudo port install libmemcached

然后,假设您使用的是pip:

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

要么

LIBMEMCACHED=/opt/local pip install pylibmc

pylibmc文档中所述


工作,但我不得不在前面加一个“须藤”画中画前

33

我通过检查在哪里安装了memcached来解决了这个问题

$ which memcached
/usr/local/bin/memcached

然后在pip安装之前设置LIBMEMCACHED环境变量:

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

顺便说一句,我有OS X El Capitan。
阿依达斯手足炎

El Capitan
morgs32 '16

1
在macOS Sierra上为我工作^^
Teddy

在macOS Mojave,python3.7上为我工作
Vivek

6

我有同样的问题,因为我已经安装了MEMCACHED而不是LIBMEMCACHED,所以要解决:

brew uninstall memcached #to remove wrong package

brew install libmemcached #install correct lib

pip install pylibmc

它对我有用!

:)


Brew拒绝卸载memcached,因为libmemcached是已安装的依赖项。所以我希望您实际完成的工作是重新安装memcached
约翰·梅

4

对于那些在Fedora上找到此答案的人:

sudo yum install libmemcached-devel


4

针对Ubuntu用户的答案:

sudo apt install libmemcached-dev zlib1g-dev

为我修复它!验证于18.0.4 lts
StephenBoesch


2

该代码对我有用

  sudo apt-get install libmemcached-dev zlib1g-dev

  LIBMEMCACHED=/opt/local pip install pylibmc


0

有时需要安装X代码命令行工具。

 xcode-select -p
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.