使用pip在Python中安装pylibmc出现错误

14

我正在尝试在虚拟环境中使用pip安装pylibmc,但出现以下错误

pip install pylibmc
Downloading/unpacking pylibmc
  Downloading pylibmc-1.3.0.tar.gz (49kB): 49kB downloaded
  Running setup.py egg_info for package pylibmc

    warning: no files found matching 'LICENSE'
    warning: no files found matching 'runtests.py'
    warning: no files found matching '*.py' under directory 'pylibmc'
Installing collected packages: pylibmc
  Running setup.py install for pylibmc
    building '_pylibmc' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/include/python2.7 -c src/_pylibmcmodule.c -o build/temp.linux-x86_64-2.7/src/_pylibmcmodule.o -fno-strict-aliasing
    In file included from src/_pylibmcmodule.c:34:0:
    src/_pylibmcmodule.h:42:36: fatal error: libmemcached/memcached.h: No such file or directory
     #include <libmemcached/memcached.h>
                                        ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    Complete output from command /home/satyag/.virtualenvs/inwell/bin/python -c "import setuptools;__file__='/home/satyag/.virtualenvs/inwell/build/pylibmc/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-j2sj7j-record/install-record.txt --single-version-externally-managed --install-headers /home/satyag/.virtualenvs/inwell/include/site/python2.7:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/__main__.py -> build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/test.py -> build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/__init__.py -> build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/client.py -> build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/pools.py -> build/lib.linux-x86_64-2.7/pylibmc

copying src/pylibmc/consts.py -> build/lib.linux-x86_64-2.7/pylibmc

running build_ext

building '_pylibmc' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/src

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/include/python2.7 -c src/_pylibmcmodule.c -o build/temp.linux-x86_64-2.7/src/_pylibmcmodule.o -fno-strict-aliasing

In file included from src/_pylibmcmodule.c:34:0:

src/_pylibmcmodule.h:42:36: fatal error: libmemcached/memcached.h: No such file or directory

 #include <libmemcached/memcached.h>

                                    ^

compilation terminated.

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /home/user/.virtualenvs/proj/bin/python -c "import setuptools;__file__='/home/user/.virtualenvs/proj/build/pylibmc/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-j2sj7j-record/install-record.txt --single-version-externally-managed --install-headers /home/user/.virtualenvs/proj/include/site/python2.7 failed with error code 1 in /home/user/.virtualenvs/proj/build/pylibmc
Storing complete log in /home/user/.pip/pip.log

那么为什么会显示错误?如何避免这个错误。

编辑

我也尝试了以下方法:

手动下载zip文件,链接为https://pypi.python.org/pypi/pylibmc , 然后运行命令 python setup.py install,但是我得到了下面的错误信息:

running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/__main__.py -> build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/test.py -> build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/__init__.py -> build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/client.py -> build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/pools.py -> build/lib.linux-x86_64-2.7/pylibmc
copying src/pylibmc/consts.py -> build/lib.linux-x86_64-2.7/pylibmc
running build_ext
building '_pylibmc' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/include/python2.7 -c src/_pylibmcmodule.c -o build/temp.linux-x86_64-2.7/src/_pylibmcmodule.o -fno-strict-aliasing
In file included from src/_pylibmcmodule.c:34:0:
src/_pylibmcmodule.h:42:36: fatal error: libmemcached/memcached.h: No such file or directory
 #include <libmemcached/memcached.h>
                                    ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

@DominicRodger,我已经尝试了上面链接中提到的相同方法,但仍然遇到了相同的错误。 - Shiva Krishna Bavandla
1个回答

36

实际上,我们需要安装类似以下的开发包:

sudo apt-get install libmemcached-dev

8
顺便提一下,对于 Fedora(20),安装命令是:sudo yum install libmemcached-devel - Ida
1
有没有Windows的解决方案? - NaturalBornCamper
这对我解决了问题,与安装Django测试的要求有关,版本为3.x(pylibmcmemcached)。我一直遇到依赖错误。 - nicorellius

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