无法通过pip安装pylibmc

14

我正在尝试在Mac上安装pylibmc。
我的Mac环境是OSX El Capitan 10.11.2。

我尝试了pip install pylibmc,但是我收到了以下错误信息。

我已经安装了以下软件:

  • brew install libmemcached
  • Command Line Tools
  • export CFLAGS=-Qunused-arguments @shell
  • export 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未正确安装。 - Atul Jain
4个回答

29

首先你需要安装

brew install libmemcached

然后通过以下命令安装Python包:

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

非常感谢。我成功安装了pylibmc。 - naohide_a
我使用了/usr/local/Cellar/libmemcached(没有指定版本),它也可以正常工作。 - reubano
非常感谢您的回答。 - hygull
根据Homebrew的版本/设置,libmemcached可能在其他位置,请在安装后使用brew info libmemcached检查其位置,并相应更改安装选项。我的位置是/opt/homebrew/Cellar/libmemcached - José

13
安装开发包:
sudo apt-get install libmemcached-dev
sudo apt-get install zlib1g-dev

然后使用pip安装Python包:

pip install pylibmc

请查看要求的文档


请检查一下,@naohide。 - user5783857
我在我的CentOS服务器上使用了yum install libmemcached-devel,然后pylibmc成功安装。希望这对于遇到相同问题的其他人有所帮助。 - Alfred

0

更新@Atul的接受答案-首先您需要安装

brew install libmemcached

然后检查已安装的版本

ls /usr/local/Cellar/libmemcached (截至今天,1.0.18_2是最新版本)

现在通过在此命令中替换上述版本来安装Python包

pip install pylibmc --install-option="--with libmemcached=/usr/local/Cellar/libmemcached/<version>"

例如:

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


0

三个步骤,包括在重新启动计算机时自动启动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服务器,可以使用卸载命令)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接