I tried to install psycopg2 to my environment, but I get the following error:
(venv)avlahop@apostolos-laptop:~/development/django/rhombus-dental$ sudo pip install psycopg2 Downloading/unpacking psycopg2, Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py egg_info for package psycopg2  Installing 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.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x09010D -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/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:30:20: fatal error: Python.h: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος      #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;__file__='/tmp/pip_build_root/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-SgfQCA-record/install-record.txt --single-version-externally-managed: 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/psycopg2  copying lib/pool.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/errorcodes.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/_json.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/_range.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/extensions.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/psycopg1.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/tz.py -> build/lib.linux-x86_64-2.7/psycopg2  copying lib/extras.py -> build/lib.linux-x86_64-2.7/psycopg2  creating build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/testconfig.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copyng tests/test_bug_gc.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_dates.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_copy.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_cancel.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_bugX000.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_types_basic.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_async.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_lobject.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_cursor.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_with.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_types_extras.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/testutils.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_notify.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_green.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_quote.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_connection.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_transaction.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/test_module.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-2.7/psycopg2/tests  running build_ext  building 'psycopg2._psycopg' extension  creating build/temp.linux-x86_64-2.7  creating build/temp.linux-x86_64-2.7/psycopg  x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x09010D -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/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:30: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;__file__='/tmp/pip_build_root/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-SgfQCA-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/psycopg2 Traceback (most recent call last):   File "/usr/bin/pip", line 9, in <module>     load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()   File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 148, in main     return command.main(args[1:], options)   File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 169, in main     text = '\n'.join(complete_log) UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 54: ordinal not in range(128)   I also get errors trying to install gunicorn. I followed this example here but nothing. My virtual environment was created using the --no-site-packagesflag. I use ubuntu 13.10 and greek environment. Maybe it's that?
The Python "ModuleNotFoundError: No module named 'psycopg2'" occurs when we forget to install the psycopg2-binary module before importing it or install it in an incorrect environment. To solve the error, install the module by running the pip install psycopg2-binary command.
The current psycopg2 implementation supports: Python 2 versions from 2.6 to 2.7. Python 3 versions from 3.2 to 3.6. PostgreSQL server versions from 7.4 to 9.6.
Install the psycopg2 module in Windows 10 Now that we have our virtual environment setup and ready, install the psycopg2 module to create a simple connection in the PostgreSQL database cluster. Make sure to upgrade the pip command to avoid error when installing a package module from python in a virtual environment.
The python-dev package is required for compilation of Python extensions written in C or C++, like psycopg2. If you're running a Debian-based distribution (e.g. Ubuntu), you can install python-dev by running
sudo apt install python-dev   or
sudo apt install python3-dev   depending on your python version (for example, sudo apt install python3.8-dev).
After that, proceed to install psycopg2 in your virtualenv environment as usual.
For Ubuntu 14.04, from Docker image python:3.4.3-slim this combination worked for me:
sudo apt-get update sudo apt-get install -y build-essential sudo apt-get install -y python3.4-dev sudo apt-get install -y libpq-dev  pip3 install psycopg2   Note build-essential package. It was crucial in my case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With