使用 pip 安装 pylibmc 时出错

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

对于如何解决这个问题有什么线索吗?

31851 次浏览

i fixed this by installing memcached from port

you should install first macports from http://www.macports.org/

然后运行此命令

sudo port install memcached

after that download the pylibmc from the pypi http://pypi.python.org/pypi/pylibmc extract .tar.gz file then

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

It's in the libmemcached package. To install it using macports:

sudo port install libmemcached

Then, assuming you're using pip:

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

or

LIBMEMCACHED=/opt/local pip install pylibmc

as explained in the pylibmc docs.

libmemcached may also be installed using Homebrew.

brew install libmemcached

After that, pip install pylibmc worked for me without needing to specify any additional arguments.

I have the same problem because i have installed MEMCACHED and not LIBMEMCACHED, so, to resolve:

brew uninstall memcached #to remove wrong package


brew install libmemcached #install correct lib


pip install pylibmc

Its Works for me!

: )

For those finding this answer on Fedora:

sudo yum install libmemcached-devel

Sometimes the X-Code Command Line Tools need to be installed.

 xcode-select -p

I solved this issue by checking where memcached is installed

$ which memcached
/usr/local/bin/memcached

and then setting LIBMEMCACHED environment variable before pip install:

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

this code is worked for me

  sudo apt-get install libmemcached-dev zlib1g-dev


LIBMEMCACHED=/opt/local pip install pylibmc

Hit the same error with macOS High Sierra, Python3.6 installed with brew. Solution for me was to export these flags, mentioned in this comment: Error when install pylibmc using pip

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

After that, pip install run just fine.

Answer for Ubuntu users:

sudo apt install libmemcached-dev zlib1g-dev