使用pip安装pylibmc时出错

har*_*der 63 python memcached osx-lion libmemcached

您好,当我尝试使用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
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题的任何线索?

小智 121

libmemcached也可以使用Homebrew安装.

brew install libmemcached
Run Code Online (Sandbox Code Playgroud)

在那之后,pip install pylibmc为我工作,而无需指定任何其他参数.

  • 我使用自制软件安装它并且它已正确链接,尽管pylibmc无法找到它.所以我必须通过运行`sudo pip install pylibmc --install-option =" - with-libmemcached =/usr/local/Cellar/libmemcached/1.0.18 /"来安装pylibmc时指向libmemcached目录. (27认同)
  • 这些解决方案对我不起作用.我不得不```导出CPPFLAGS =" - 我/ usr/local/include"```和```export LDFLAGS =" - L/usr/local/lib"``` (3认同)
  • 对于 Homebrew 的现代安装,您可能需要指向不再位于 /usr/local 中的新 Homebrew 根目录: `LIBMEMCACHED=/opt/homebrew pip install pylibmc` (2认同)

Mik*_*gel 35

它位于libmemcached包中.要使用macports安装它:

sudo port install libmemcached

然后,假设你正在使用pip:

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

要么

LIBMEMCACHED=/opt/local pip install pylibmc

正如pylibmc文档中所解释的那样.


Aid*_*tis 29

我通过检查memcached的安装位置解决了这个问题

$ which memcached
/usr/local/bin/memcached
Run Code Online (Sandbox Code Playgroud)

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

$ export LIBMEMCACHED=/usr/local
$ pip install pylibmc
Run Code Online (Sandbox Code Playgroud)


flu*_*ffy 10

Ubuntu 用户的回答:

sudo apt install libmemcached-dev zlib1g-dev
Run Code Online (Sandbox Code Playgroud)


小智 6

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

brew uninstall memcached #to remove wrong package

brew install libmemcached #install correct lib

pip install pylibmc
Run Code Online (Sandbox Code Playgroud)

它的作品对我来说!

:)


Jam*_*mie 5

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

sudo yum install libmemcached-devel