I'm trying to use mdbtools in a django app I have. I've included the following two lines in my requirements.txt file:
mdbtools-dev
mdbtools
but am running into some errors:
....
Requirement already satisfied (use --upgrade to upgrade): stripe in ./lib/python2.7/site-packages (from -r requirements.txt (line 7))
Downloading/unpacking mdbtools-dev (from -r requirements.txt (line 8))
Could not find any downloads that satisfy the requirement mdbtools-dev (from -r requirements.txt (line 8))
No distributions at all found for mdbtools-dev (from -r requirements.txt (line 8))
Storing complete log in /app/.pip/pip.log
! Heroku push rejected, failed to compile Python app
I sudo apt-get install both mdbtools and mdbtools-dev without a problem. Does anyone have any idea what's going on?
requirements.txt file is not for general system requirements - it is only for Python libraries that are necessary for your application.
Since there is no Python package called mdbtools, you are getting that error.
Related
I am trying to install a list of packages using a requirements file with PIP in a python virtual environment on Windows.
Halfway thru the list I get the following error. Can someone let me know what the error is ?
(nsr) c:\Users\axxxan\Desktop\Temp>pip install -r requirements.txt
Collecting appdirs==1.4.3 (from -r requirements.txt (line 1))
Using cached appdirs-1.4.3-py2.py3-none-any.whl
Collecting asn1crypto==0.22.0 (from -r requirements.txt (line 2))
Using cached asn1crypto-0.22.0-py2.py3-none-any.whl
Collecting backports-abc==0.5 (from -r requirements.txt (line 3))
Using cached backports_abc-0.5-py2.py3-none-any.whl
Collecting beautifulsoup4==4.6.0 (from -r requirements.txt (line 4))
Using cached beautifulsoup4-4.6.0-py2-none-any.whl
Collecting behave==1.2.5 (from -r requirements.txt (line 5))
Using cached behave-1.2.5-py2.py3-none-any.whl
Collecting boto==2.46.1 (from -r requirements.txt (line 6))
Using cached boto-2.46.1-py2.py3-none-any.whl
Collecting cachetools==2.0.0 (from -r requirements.txt (line 7))
Using cached cachetools-2.0.0-py2.py3-none-any.whl
Collecting certifi==2017.4.17 (from -r requirements.txt (line 8))
Using cached certifi-2017.4.17-py2.py3-none-any.whl
Collecting cffi==1.10.0 (from -r requirements.txt (line 9))
Using cached cffi-1.10.0-cp27-cp27m-win_amd64.whl
Collecting chardet==3.0.2 (from -r requirements.txt (line 10))
Using cached chardet-3.0.2-py2.py3-none-any.whl
Requirement already satisfied: click==6.7 in c:\users\axxxan\envs\nsr\lib\site-packages (from -r requirements.txt (line 11))
Collecting cryptography==1.8.1 (from -r requirements.txt (line 12))
Using cached cryptography-1.8.1-cp27-cp27m-win_amd64.whl
Collecting dill==0.2.6 (from -r requirements.txt (line 13))
Using cached dill-0.2.6.zip
Obtaining dp_workflow from git+https://source.developers.google.com/p/txxx-data-lake-core-dev/r/nxx-dp#c6d58a36a3d5bed58333d5057633b789a99a6530#egg=dp_workflow (from -r requirements.txt (line 14))
Skipping because already up-to-date.
Collecting enum34==1.1.6 (from -r requirements.txt (line 15))
Using cached enum34-1.1.6-py2-none-any.whl
Collecting filequeue==0.3.1 (from -r requirements.txt (line 16))
Using cached filequeue-0.3.1.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\users\axxxan\appdata\local\temp\pip-build-jqwnqf\filequeue\setup.py", line 16, in <module>
long_description = "\n\n".join((read("README.rst"), read("CHANGES.rst"))),
File "c:\users\axxxan\appdata\local\temp\pip-build-jqwnqf\filequeue\setup.py", line 6, in read
return open(os.path.join(os.path.dirname(__file__), fname)).read()
IOError: [Errno 2] No such file or directory: 'c:\\users\\axxxan\\appdata\\local\\temp\\pip-build-jqwnqf\\filequeue\\CHANGES.rst'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in c:\users\axxxan\appdata\local\temp\pip-build-jqwnqf\filequeue\
Filequeue is missing the CHANGES.rst in its tar file on PyPI. This causes pip to fall over, since the setup.py requires CHANGES.rst (indirectly only).
Given the date of the last update in Jan 2013, a fix may be some time away. A simple workaround is as follows:
pip install git+https://github.com/GP89/FileQueue.git
before you install any of the other packages that depend on it.
Then, during the installation of other packages that require filequeue, pip should find it already installed and skip to the next package to install.
Note: a recent fix has solved this problem, and filequeue 0.3.2 should install without problems using pip.
I try to reinstall requirements for my project using pip but I get this error. There is a previous failed installation. how can I delete it and proceed ?
E:\projects\project course\tkz>pip install -r requirements.txt
Downloading/unpacking Django==1.5.4 (from -r requirements.txt (line 1))
pip can't proceed with requirement 'Django==1.5.4 (from -r requirements.txt (lin
e 1))' due to a pre-existing build directory.
location: c:\users\sina\appdata\local\temp\pip_build_sina\Django
This is likely due to a previous installation that failed.
pip is being responsible and not assuming it can delete this.
Please delete it and try again.
Cleaning up...
Use:
pip uninstall Django==1.5.4
or
pip uninstall -r requirements.txt
If that still doesn't work, then go into you Python/Lib/site-packages directory where these packages live, and delete them. Then re-run
pip install -r requirements.txt
and that should work.
You can just go ahead and delete that directory, that's what the message is telling you.
Can you try pip install -I django==1.5.4?
You need to delete the whole directory:
cd c:\users\sina\appdata\local\temp\pip_build_sina
rm -R Django
Now you can reinstall Django again
I'm trying to install django-nonrel the correct way - and to be able to reproduce the process.
I've installed django-nonrel using pip - as following:
pip install git+https://github.com/django-nonrel/django-nonrel.git
pip install git+https://github.com/django-nonrel/django-dbindexer.git
pip install git+https://github.com/django-nonrel/django-permission-backend-nonrel
pip install hg+https://bitbucket.org/wkornewald/djangoappengine
pip install hg+https://bitbucket.org/wkornewald/djangotoolbox
pip install hg+https://bitbucket.org/twanschik/django-autoload
pip install hg+https://bitbucket.org/twanschik/nonrel-search/src
After installation, I got this req.txt file (pip freeze > req.txt):
Django==1.3.1
django-autoload==0.01
django-dbindexer==0.3
djangoappengine==1.0
djangotoolbox==0.9.2
nonrel-search==0.1
permission-backend-nonrel==0.1
wsgiref==0.1.2
But I can't use my req.txt file to get the same stuff.
If I uninstall a package (e.g. django-autoload) and try to get it again using the requirements file
(gae-first)bentzy#lama:~/.virtualenvs/gae-first$ pip uninstall django-autoload
Uninstalling django-autoload:
...
Successfully uninstalled django-autoload
(gae-first)bentzy#lama:~/.virtualenvs/gae-first$ pip install -r req.txt
Requirement already satisfied (use --upgrade to upgrade): Django==1.3.1 in ./lib/python2.7/site-packages (from -r req.txt (line 1))
Downloading/unpacking django-autoload==0.01 (from -r req.txt (line 2))
Could not find any downloads that satisfy the requirement django-autoload==0.01 (from -r req.txt (line 2))
No distributions at all found for django-autoload==0.01 (from -r req.txt (line 2))
Storing complete log in /home/bentzy/.pip/pip.log
Why aren't those packages at pip repository?
It still make sense to use pip to install them?
The problem is that your requirements file does not have enough information.
What pip is going to do when you request it to install django-autoload, for instance, is look at PyPI for that package (and scrap some pages after finding the PyPI entry).
If you want to have a requirements file that downloads those packages the same way you did while installing one by one, do the same: tell pip where to find packages.
Create a requirements file like:
git+https://github.com/django-nonrel/django-nonrel.git
git+https://github.com/django-nonrel/django-dbindexer.git
git+https://github.com/django-nonrel/django-permission-backend-nonrel
hg+https://bitbucket.org/wkornewald/djangoappengine
hg+https://bitbucket.org/wkornewald/djangotoolbox
hg+https://bitbucket.org/twanschik/django-autoload
hg+https://bitbucket.org/twanschik/nonrel-search/src
Or if you want to install from specific tag or commit, do:
git+https://github.com/django-nonrel/django-nonrel.git#1.3.1#egg=Django
Read more about requirements file at http://www.pip-installer.org/en/latest/logic.html#requirements-file-format
it doesn't really make sense to use pip if you're using GAE, since all the packages you use need to be in your actual GAE project folder. Packages installed in your system or virtualenv environments won't get uploaded to GAE production servers.
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:
_pylibmcmodule.h:42:36: error: libmemcached/memcached.h: No such file or
directory
here's the (almost) complete traceback:
-----> 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 must
use .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.git#25bd361d3c64cc22a1090a5053465939647d973d#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/django-taggit.git#7987beaf357f8d3621c7fbce3b6753dd21962ee7#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/django-generic-aggregation.git#c76408c2c002dcab6bfc3148760ee58a19cbe05e#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.5
in ./.heroku/venv/lib/python2.7/site-packages (from -r requirements/common.txt (line 34))
Requirement already satisfied (use --upgrade to upgrade): wsgiref==0.1.2
in /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 or
directory
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 app
To git#heroku.com:crowdcademy.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:crowdcademy.git'
So here's the deal
I can't test it in my local env b/c I'm running on a windows piece of crap. But from what I've read libmemcached is already installed on heroku. And nobody else seems to have any problems with pylibmc because I couldn't find anything on google. In this post they are talking about:
that if they detect that you are loading pylibmc, they will bootstrap
libmemcached for you
That might be the problem, either it's not provided or the path is wrong. Any help is appreciated! if this doesn't work out I'll have to use Redis which seems to be a lot harder... don't know if I'm advanced enough for that.
Edit
Might be irrelevant, but I'm using a settings folder with init instead of a settings.py file. I've heard that this can lead to some strange behaviour since heroku doesn't always remember that this is possible.
Edit 2
Since there are hundreds of people runnning memcached and django on heroku without any problems, I don't think that heroku-users are supposed to install libmemcached with some sort of hack. The docs talk about it as if it is bootstrapped for you when heroku detects pylibmc in your requirements file. Which leads me to the conclusion: A) either there is something wrong in my settings or in one of the apps I use or B) heroku changed something recently and broke the automatic bootstrapping of libmemcached for django. I've tried to get a fresh install with heroku config:add CLEAN_VIRTUALENV=true but that's not working either right now. I'm hoping that it's A and somebody has had the same problem. If it's B I have no idea how to solve it.
I've talked to the friendly folks at Heroku and it seems like my requirements.txt setup was causing all the havoc. Don't use a requirements file in root that imports from another requirements file! At least for pylibmc that's not working because libmemcached doesn't get bootstrapped if there is no explicit line with pylibmc in the root requirements file. I hope this will help others avoid wasting the 10 hrs I've spent on this problem. Yay!
You need libmemcached installed.
You don't need the development headers or anything, the regular ones are more than enough!
If you can't install libmemcached, you can't install pylibmc. Sorry about that but there's not much to do about it.
There is a way to get around this but it's a crap idea so message me if you want the details.
Have you tried something like libmemcached-dev, memcached-dev ? You need SOURCES of libmemcached !
Try this:
sudo apt-get install libmemcached-dev
Im having problems deploying my django app to heroku
in the first part, heroku's push fails when it could not find any downloads for django-sha2==0.4 , however when i do pip install on my computer locally, it works
hh:djangoherokutest Kinnovate$ git push heroku master
Counting objects: 12, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 958 bytes, done.
Total 10 (delta 7), reused 0 (delta 0)
-----> Heroku receiving push
-----> Python/Django app detected
-----> Preparing virtualenv version 1.7
New python executable in ./bin/python
Installing distribute..............................................................................................................................................................................................done.
Installing pip...............done.
Overwriting ./bin/activate with new content
Overwriting ./bin/activate.fish with new content
Overwriting ./bin/activate.csh with new content
-----> Activating virtualenv
-----> Installing dependencies using pip version 1.0.2
Downloading/unpacking git+https://github.com/django/django.git (from -r requirements.txt (line 4))
Cloning https://github.com/django/django.git to /tmp/pip-Jvyfwt-build
Running setup.py egg_info for package from git+https://github.com/django/django.git
Requirement already satisfied (use --upgrade to upgrade): py-bcrypt==0.2 in ./lib/python2.7/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): ipython==0.12 in ./lib/python2.7/site-packages (from -r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): Flask==0.8 in ./lib/python2.7/site-packages (from -r requirements.txt (line 3))
Downloading/unpacking psycopg2==2.4.2 (from -r requirements.txt (line 5))
Running setup.py egg_info for package psycopg2
no previously-included directories found matching 'doc/src/_build'
Requested psycopg2==2.4.2 (from -r requirements.txt (line 5)), but installing version 2.4.4
Downloading/unpacking django-sha2==0.4 (from -r requirements.txt (line 6))
Could not find any downloads that satisfy the requirement django-sha2==0.4 (from -r requirements.txt (line 6))
No distributions at all found for django-sha2==0.4 (from -r requirements.txt (line 6))
Storing complete log in /app/.pip/pip.log
! Heroku push rejected, failed to compile Python/django app
To git#heroku.com:growing-mountain-9962.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:growing-mountain-9962.git'
hh:djangoherokutest Kinnovate$ pip install django-sha2
Requirement already satisfied (use --upgrade to upgrade): django-sha2 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_sha2-0.4-py2.7.egg
Requirement already satisfied (use --upgrade to upgrade): Django>=1.2 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from django-sha2)
Cleaning up...
how do i fix this?
Try putting
git+https://github.com/fwenzel/django-sha2.git
instead of
django-sha2==0.4
in the requirements.txt. This will link straight to the package.