Trying to get a server ready for a django project and I'm running into some issues with setup for postgres.
I'm following this guide:https://jee-appy.blogspot.com/2017/01/deply-django-with-nginx.html
And I'm at step 5:
- Now, we need to configure postgreSQL so that it can communicate with our Django application. For this, install psycopg2 database adapter. But this adapter have some package dependencies, so first install them.
run:
(django_env) $ sudo apt-get install libpq-dev python3-dev
then...
(django_env) $ pip install psycopg2
I do that, and this point in the instructions, I get a "compilation failed" error.
I tried the solutions suggested in this stack exchange question:Trouble with psycopg2 in virtualenv python3 for use with Djangoand this one:Cannot install psycopg2 on virtualenv
I am very much a linux and django noob, so if this is a duplicate issue, please have mercy on me and leave a comment explaining why you are marking it as a duplicate as you do so.
Thanks for your time!
Here's the output and install command that caused it:
(django_env1) user:/home/projects/sample_project$ sudo pip install psycopg2Downloading/unpacking psycopg2 Downloading psycopg2-2.7.3.2.tar.gz (425kB): 425kB downloaded Running setup.py (path:/tmp/pip_build_root/psycopg2/setup.py) egg_info for package psycopg2Installing collected packages: psycopg2 Running setup.py install for psycopg2 building 'psycopg2._psycopg' extension x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.7.3.2 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=90320 -DHAVE_LO64=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.3/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement In file included from psycopg/psycopgmodule.c:27:0: ./psycopg/psycopg.h:34:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_0zc1L-record/install-record.txt --single-version-externally-managed --compile: running installrunning buildrunning build_pycreating buildcreating build/lib.linux-x86_64-2.7creating build/lib.linux-x86_64-2.7/psycopg2copying lib/_ipaddress.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/tz.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/_json.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/errorcodes.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/psycopg1.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/_range.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/extensions.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/sql.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/pool.py -> build/lib.linux-x86_64-2.7/psycopg2copying lib/extras.py -> build/lib.linux-x86_64-2.7/psycopg2creating build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_bug_gc.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_types_extras.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_async_keyword.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_sql.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_ipaddress.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_fast_executemany.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_copy.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_with.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_connection.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_module.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_replication.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_dates.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_bugX000.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/testconfig.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_errcodes.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_transaction.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_async.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/testutils.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_cursor.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_quote.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_notify.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_lobject.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_cancel.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_green.py -> build/lib.linux-x86_64-2.7/psycopg2/testscopying tests/test_types_basic.py -> build/lib.linux-x86_64-2.7/psycopg2/testsrunning build_extbuilding 'psycopg2._psycopg' extensioncreating build/temp.linux-x86_64-2.7creating build/temp.linux-x86_64-2.7/psycopgx86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.7.3.2 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=90320 -DHAVE_LO64=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.3/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statementIn file included from psycopg/psycopgmodule.c:27:0:./psycopg/psycopg.h:34:20: fatal error: Python.h: No such file or directory #include <Python.h> ^compilation terminated.error: command 'x86_64-linux-gnu-gcc' failed with exit status 1----------------------------------------Cleaning up...Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_0zc1L-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/psycopg2