【Djnagoエラー対処】memchachedを使うためにpip install pylibmcをするとでエラーがでる問題

djangoFirebase
この記事は約4分で読めます。

はじめに

Djangoでつくっているウェブアプリケーションでインメモリデータベースを使おうとしたときに、elasticcacheを導入するためこちらを↓を使おうとしましたが、エラーが起きました。

gusdan/django-elasticache
pylibmc based client for Amazon ElastiCache with auto discovery function - gusdan/django-elasticache

エラー内容は以下の通りです。

 ----------------------------------------
  Failed building wheel for pylibmc
    In file included from src/_pylibmcmodule.c:34:
    src/_pylibmcmodule.h:42:10: fatal error: 'libmemcached/memcached.h' file not found
    #include <libmemcached/memcached.h>
             ^
    1 error generated.
    error: command '/usr/bin/clang' failed with exit status 1
    
    ----------------------------------------
Command "/hogehoge/.pyenv/versions/anaconda3-2.3.0/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/6p/k4y3j90j065csqkmzj4v8c200000gn/T/pip-build-5esffjzu/pylibmc/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/6p/k4y3j90j065csqkmzj4v8c200000gn/T/pip-7g2m3it0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/6p/k4y3j90j065csqkmzj4v8c200000gn/T/pip-build-5esffjzu/pylibmc/

 

解決策

pylibmcをインストールする前に、libmemcachedをbrewで落としてあげる必要がありました。

brew install libmemcached

この後、

pip install pylibmc

でうまくいきます。

% brew install libmemcached
==> Downloading https://homebrew.bintray.com/bottles/libmemcached-1.0.18_1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libmemcached-1.0.18_1.el_capitan.bottle.tar.gz
🍺  /usr/local/Cellar/libmemcached/1.0.18_1: 230 files, 1.8M


% pip install pylibmc                                                                                                                                                                                                        Collecting pylibmc
  Using cached pylibmc-1.5.1.tar.gz
Building wheels for collected packages: pylibmc
  Running setup.py bdist_wheel for pylibmc ... done
  Stored in directory: /hoge/hoge/Caches/pip/wheels/82/f3/35/53e4b60d1173968fade0902e7ad970440c38d866c20cb92459
Successfully built pylibmc
Installing collected packages: pylibmc
Successfully installed pylibmc-1.5.1

オススメのプログラミングスクール紹介

【TechAcademy】自宅で学べる!プログラミングスクール

まずは無料体験からでも始められます

★ここがポイント!

 自宅にいながらオンラインで勉強できる
◎ パーソナルメンターがついて指導!

◎ チャットで質問もOK
◎ あなたのオリジナルサービスの開発をサポート!

Firebaseプログラミング
あれは魔法だろうか?
タイトルとURLをコピーしました