Memcached on Heroku w/ Django : can't install pylibmc / memcacheify

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/codehunter

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • django-heroku-memcacheify

    Automatic Django memcached configuration on Heroku.

    I've spent a lot of time on this and it's clearly beyond my newbie understanding/skills. I tried to install django-heroku-memcacheify with pip install, which throws errors. I tracked the problem down to pylibmc, which is causing all the problems. Here's one of the interesting parts of the error log:

  • pylibmc

    A Python wrapper around the libmemcached interface from TangentOrg.

    I've spent a lot of time on this and it's clearly beyond my newbie understanding/skills. I tried to install django-heroku-memcacheify with pip install, which throws errors. I tracked the problem down to pylibmc, which is causing all the problems. Here's one of the interesting parts of the error log:

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • django-haystack

    Modular search for Django (by toastdriven)

    -----> Heroku receiving push-----> Fetching custom buildpack... done-----> Python app detected-----> Preparing Python interpreter (2.7.2)-----> Creating Virtualenv version 1.7.2 ! CLEAN_VIRTUALENV set, rebuilding virtualenv. Running virtualenv with interpreter /usr/local/bin/python2.7 New python executable in .heroku/venv/bin/python2.7 Not overwriting existing python script .heroku/venv/bin/python (you mustuse .heroku/venv/bin/python2.7) Installing distribute..................................................................................................................................................................................................done. Installing pip................done.-----> Activating virtualenv-----> Installing dependencies using pip version 1.1 Requirement already satisfied (use --upgrade to upgrade): Django==1.4 in./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 2)) Requirement already satisfied (use --upgrade to upgrade): gunicorn==0.14.3 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 3)) Requirement already satisfied (use --upgrade to upgrade): PIL==1.1.7 in ./.heroku/venv/lib/python2.7/site-packages/PIL (from -r requirements/common.txt (line 4)) Requirement already satisfied (use --upgrade to upgrade): South==0.7.5 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 5)) Requirement already satisfied (use --upgrade to upgrade): boto==2.1.1 in./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 6)) Downloading/unpacking distribute==0.6.10 (from -r requirements/common.txt (line 7)) Using download cache from /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fd%2Fdistribute%2Fdistribute-0.6.10.tar.gz Running setup.py egg_info for package distribute Requirement already satisfied (use --upgrade to upgrade): python-dateutil==1.5 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 8)) Requirement already satisfied (use --upgrade to upgrade): six==1.1.0 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 9)) Requirement already satisfied (use --upgrade to upgrade): django-appconf==0.5 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 10)) Requirement already satisfied (use --upgrade to upgrade): dj-database-url==0.2.0 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 11)) Downloading/unpacking django-compressor==dev (from -r requirements/common.txt (line 12)) Using download cache from /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fgithub.com%2Fjezdez%2Fdjango_compressor%2Ftarball%2Fdevelop Cannot determine compression type for file /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fgithub.com%2Fjezdez%2Fdjango_compressor%2Ftarball%2Fdevelop Running setup.py egg_info for package django-compressor Requested django-compressor==dev (from -r requirements/common.txt (line 12)), but installing version 1.2a2 Requirement already satisfied (use --upgrade to upgrade): django-crispy-forms==1.1.2 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 13)) Requirement already satisfied (use --upgrade to upgrade): django-extensions==0.9 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 14)) Requirement already satisfied (use --upgrade to upgrade): django-facebook==4.0.9 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 15)) Requirement already satisfied (use --upgrade to upgrade): django-floppyforms==1.0 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 16)) Requirement already satisfied (use --upgrade to upgrade): django-guardian==1.0.4 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 17)) Requirement already satisfied (use --upgrade to upgrade): django-image-cropping==0.5 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 18)) Requirement already satisfied (use --upgrade to upgrade): django-ratings==0.3.6 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 19)) Requirement already satisfied (use --upgrade to upgrade): django-smuggler==0.3 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 20)) Requirement already satisfied (use --upgrade to upgrade): django-storages==1.1.4 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 21)) Requirement already satisfied (use --upgrade to upgrade): django-subdomains==1.2.1 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 22)) Requirement already satisfied (use --upgrade to upgrade): django-s3-folder-storage==0.1 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 23)) Requirement already satisfied (use --upgrade to upgrade): django-userena==1.1.0 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 24)) Requirement already satisfied (use --upgrade to upgrade): Whoosh==2.4.0 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 25)) Requirement already satisfied (use --upgrade to upgrade): brabeion==0.1 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 26)) Requirement already satisfied (use --upgrade to upgrade): versiontools==1.9.1 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 27)) Obtaining django-haystack from git+https://github.com/toastdriven/django-haystack[email protected]#egg=django_haystack-dev (from -r requirements/common.txt (line 28)) Updating ./.heroku/src/django-haystack clone (to 25bd361d3c64cc22a1090a5053465939647d973d) Could not find a tag or branch '25bd361d3c64cc22a1090a5053465939647d973d', assuming commit. Running setup.py egg_info for package django-haystack Obtaining django-taggit from git+git://github.com/shacker/[email protected]#egg=django_taggit-dev (from -r requirements/common.txt (line 29)) Updating ./.heroku/src/django-taggit clone (to 7987beaf357f8d3621c7fbce3b6753dd21962ee7) Could not find a tag or branch '7987beaf357f8d3621c7fbce3b6753dd21962ee7', assuming commit. Running setup.py egg_info for package django-taggit Obtaining django-generic-aggregation from git+git://github.com/coleifer/[email protected]9cbe05e#egg=django_generic_aggregation-dev (from -r requirements/common.txt (line 30)) Updating ./.heroku/src/django-generic-aggregation clone (to c76408c2c002dcab6bfc3148760ee58a19cbe05e) Could not find a tag or branch 'c76408c2c002dcab6bfc3148760ee58a19cbe05e', assuming commit. Running setup.py egg_info for package django-generic-aggregation Requirement already satisfied (use --upgrade to upgrade): easy-thumbnails==1.0.3 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 31)) Requirement already satisfied (use --upgrade to upgrade): docutils==0.9 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 32)) Requirement already satisfied (use --upgrade to upgrade): httplib2==0.7.4 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt(line 33)) Requirement already satisfied (use --upgrade to upgrade): reportlab==2.5in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 34)) Requirement already satisfied (use --upgrade to upgrade): wsgiref==0.1.2in /usr/local/lib/python2.7 (from -r requirements/common.txt (line 35)) Downloading/unpacking django-pylibmc-sasl==0.2.4 (from -r requirements/prod.txt (line 3)) Downloading django-pylibmc-sasl-0.2.4.tar.gz Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fd%2Fdjango-pylibmc-sasl%2Fdjango-pylibmc-sasl-0.2.4.tar.gz Running setup.py egg_info for package django-pylibmc-sasl Requirement already satisfied (use --upgrade to upgrade): psycopg2==2.4.5 in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/prod.txt (line 4)) Downloading/unpacking pylibmc==1.2.3 (from -r requirements/prod.txt (line 5)) Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpylibmc%2Fpylibmc-1.2.3.tar.gz Running setup.py egg_info for package pylibmc Downloading/unpacking django-heroku-memcacheify==0.3 (from -r requirements/prod.txt (line 6)) Downloading django-heroku-memcacheify-0.3.tar.gz Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fd%2Fdjango-heroku-memcacheify%2Fdjango-heroku-memcacheify-0.3.tar.gz Running setup.py egg_info for package django-heroku-memcacheify Installing collected packages: distribute, django-compressor, django-haystack, django-taggit, django-generic-aggregation, django-pylibmc-sasl, pylibmc, django-heroku-memcacheify Found existing installation: distribute 0.6.27 Uninstalling distribute: Successfully uninstalled distribute Running setup.py install for distribute Before install bootstrap. Scanning installed packages Setuptools installation detected at /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages Non-egg installation Removing elements out of the way... Already patched. /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info already patched. Installing easy_install script to /tmp/build_vk3edwx3xe4q/.heroku/venv/bin Installing easy_install-2.7 script to /tmp/build_vk3edwx3xe4q/.heroku/venv/bin After install bootstrap. /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info already exists Found existing installation: django-compressor 1.2a2 Uninstalling django-compressor: Successfully uninstalled django-compressor Running setup.py install for django-compressor Running setup.py develop for django-haystack Creating /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages/django-haystack.egg-link (link to .) django-haystack 2.0.0-beta is already the active version in easy-install.pth Installed /tmp/build_vk3edwx3xe4q/.heroku/src/django-haystack Running setup.py develop for django-taggit Creating /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages/django-taggit.egg-link (link to .) django-taggit 0.9.4 is already the active version in easy-install.pth Installed /tmp/build_vk3edwx3xe4q/.heroku/src/django-taggit Running setup.py develop for django-generic-aggregation Creating /tmp/build_vk3edwx3xe4q/.heroku/venv/lib/python2.7/site-packages/django-generic-aggregation.egg-link (link to .) django-generic-aggregation 0.3.1 is already the active version in easy-install.pth Installed /tmp/build_vk3edwx3xe4q/.heroku/src/django-generic-aggregation Running setup.py install for django-pylibmc-sasl Running setup.py install for pylibmc building '_pylibmc' extension gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/local/include/python2.7 -c _pylibmcmodule.c -o build/temp.linux-x86_64-2.7/_pylibmcmodule.o -fno-strict-aliasing In file included from _pylibmcmodule.c:34: _pylibmcmodule.h:42:36: error: libmemcached/memcached.h: No such file or directory _pylibmcmodule.c: In function â?~init_pylibmcâ?T: _pylibmcmodule.c:2140: error: â?~LIBMEMCACHED_VERSION_STRINGâ?T undeclared (first use in this function) _pylibmcmodule.c:2140: warning: passing argument 3 of â?~PyModule_AddStringConstantâ?T from incompatible pointer type /usr/local/include/python2.7/modsupport.h:42: note: expected â?~const char *â?T but argument is of type â?~struct PylibMC_Behavior *â?T error: command 'gcc' failed with exit status 1 Complete output from command /tmp/build_vk3edwx3xe4q/.heroku/venv/bin/python2.7 -c "import setuptools;\_\_file\_\_='/tmp/build\_vk3edwx3xe4q/.heroku/venv/build/pylibmc/setup.py';exec(compile(open(\_\_file\_\_).read().replace('\r\n', '\n'), \_\_file\_\_, 'exec'))" install --single-version-externally-managed --record /tmp/pip-Y7MRuY-record/install-record.txt --install-headers /tmp/build\_vk3edwx3xe4q/.heroku/venv/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 pylibmc/__main__.py -> build/lib.linux-x86_64-2.7/pylibmc copying pylibmc/pools.py -> build/lib.linux-x86_64-2.7/pylibmc copying pylibmc/__init__.py -> build/lib.linux-x86_64-2.7/pylibmc copying pylibmc/client.py -> build/lib.linux-x86_64-2.7/pylibmc copying pylibmc/consts.py -> build/lib.linux-x86_64-2.7/pylibmc copying pylibmc/test.py -> build/lib.linux-x86_64-2.7/pylibmc running build_ext building '_pylibmc' extension creating build/temp.linux-x86_64-2.7 gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/local/include/python2.7 -c _pylibmcmodule.c -o build/temp.linux-x86_64-2.7/_pylibmcmodule.o -fno-strict-aliasing In file included from _pylibmcmodule.c:34: _pylibmcmodule.h:42:36: error: libmemcached/memcached.h: No such file ordirectory In file included from _pylibmcmodule.c:34: _pylibmcmodule.h:75: error: expected declaration specifiers or â?~...â?T before â?~*â?T token...Lots of errors... _pylibmcmodule.c: In function â?~init_pylibmcâ?T: _pylibmcmodule.c:2140: error: â?~LIBMEMCACHED_VERSION_STRINGâ?T undeclared (first use in this function) _pylibmcmodule.c:2140: warning: passing argument 3 of â?~PyModule_AddStringConstantâ?T from incompatible pointer type /usr/local/include/python2.7/modsupport.h:42: note: expected â?~const char *â?T but argument is of type â?~struct PylibMC_Behavior *â?T error: command 'gcc' failed with exit status 1 ---------------------------------------- Command /tmp/build_vk3edwx3xe4q/.heroku/venv/bin/python2.7 -c "import setuptools;\_\_file\_\_='/tmp/build\_vk3edwx3xe4q/.heroku/venv/build/pylibmc/setup.py';exec(compile(open(\_\_file\_\_).read().replace('\r\n', '\n'), \_\_file\_\_, 'exec'))" install --single-version-externally-managed --record /tmp/pip-Y7MRuY-record/install-record.txt --install-headers /tmp/build\_vk3edwx3xe4q/.heroku/venv/include/site/python2.7 failed with error code 1 in /tmp/build\_vk3edwx3xe4q/.heroku/venv/build/pylibmc Storing complete log in /app/.pip/pip.log ! Heroku push rejected, failed to compile Python appTo [email protected]:crowdcademy.git ! [remote rejected] master -> master (pre-receive hook declined)error: failed to push some refs to '[email protected]:crowdcademy.git' So here's the deal

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts