【问题标题】:Can't install pylibmc by pip无法通过 pip 安装 pylibmc
【发布时间】:2016-01-13 11:10:36
【问题描述】:

我正在尝试在 mac 上安装 pylibmc。
mac env 是 osx el capitan 10.11.2。

我试过pip install pylibmc。但我收到以下错误。

我已经安装了下面的列表。

  • brew install libmemcached
  • 命令行工具
  • 导出 CFLAGS=-Qunused-arguments @shell
  • 导出 CPPFLAGS=-Qunused-arguments @shell

如何安装 pylibmc??

Installing collected packages: pylibmc
Running setup.py install for pylibmc
Complete output from command /Users/username/.virtualenvs/django-proj/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-goDKgm/pylibmc/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-wxC5F1-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/username/.virtualenvs/django-proj/bin/../include/site/python2.7/pylibmc:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.11-x86_64-2.7
creating build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/__main__.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/client.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/consts.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/pools.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/test.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
running build_ext
building '_pylibmc' extension
creating build/temp.macosx-10.11-x86_64-2.7
clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DUSE_ZLIB -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _pylibmcmodule.c -o build/temp.macosx-10.11-x86_64-2.7/_pylibmcmodule.o -fno-strict-aliasing
In file included from _pylibmcmodule.c:34:
./_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 没有正确安装

标签: python macos pip pylibmc


【解决方案1】:

首先你需要安装

brew install libmemcached

比通过这个命令安装python包

pip install pylibmc --install-option="--with-libmemcached=/usr/local/Cellar/libmemcached/1.0.18/"

【讨论】:

  • 非常感谢。我可以成功安装 pylibmc。
  • 我使用了/usr/local/Cellar/libmemcached(没有指定版本),它也有效。
  • 非常感谢您的回答。
  • 感谢您的精彩回答
【解决方案2】:

安装开发包:

sudo apt-get install libmemcached-dev
sudo apt-get install zlib1g-dev

然后使用 pip 安装 python 包:

pip install pylibmc

查看requirements的文档

【讨论】:

  • 检查这个@naohide。
  • 我在我的centos服务器yum install libmemcached-devel中使用了这个,然后pylibmc就安装成功了。希望这对遇到相同问题的其他人有所帮助
【解决方案3】:

重启电脑时自动启动memcached服务器三个步骤

  1. brew install libmemcached
  2. pip install pylibmc
  3. ln -s /usr/local/Cellar/memcached/1.4.24/homebrew.mxcl.memcached.plist ~/Library/LaunchAgents/ (注意:版本号需要自己修改,这里是1.4 .24)
  4. launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist(注意:如果您不想稍后自动启动 memacached 服务器,可以使用 unload 命令)

【讨论】: