Error: No module named psycopg2.extensions

PythonDjangoPostgresqlPsycopg2

Python Problem Overview


I am trying to set up a PostgreSQL database for my django project, which I believe I have done now thanks to the replies to my last question <https://stackoverflow.com/questions/12710715/problems-setting-up-a-postgresql-database-for-a-django-project/12713737#comment17168054_12713737>;. I am now trying to run the command 'python manage.py runserver' in Terminal to get my localhost up but when I run the command, I see this response...

Error: No module named psycopg2.extensions

I'm not sure what this means - I have tried to download psycopg2 but can't seem to find a way to download psycopg2 using homebrew. I have tried easy_install, pip install and sudo but all return errors like this...

Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds
no previously-included directories found matching 'doc/src/_build'
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

How to fix this?

Python Solutions


Solution 1 - Python

The first thing to do is to install the dependencies.

sudo apt-get build-dep python-psycopg2
sudo apt install python3-psycopg2 # Python 3

After that go inside your virtualenv and use:

pip install psycopg2-binary

These two commands should solve the problem.

Solution 2 - Python

pip install psycopg2-binary

The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>;.

Solution 3 - Python

For Django 2 and python 3 install psycopg2 using pip3 :

pip3 install psycopg2

Solution 4 - Python

For macOS Mojave just run pip install psycopg2-binary. Works fine for me, python version -> Python 3.7.2

Solution 5 - Python

I installed it successfully using these commands:

sudo apt-get install libpq-dev python-dev
pip install psycopg2

Solution 6 - Python

first install apt-get install python-setuptools

then try easy_install psycopg2

Solution 7 - Python

This is what helped me on Ubuntu if your python installed from Ubuntu installer. I did this after unsuccessfully trying 'apt-get install' and 'pip install':

In terminal:

sudo synaptic

then in synaptic searchfield write

psycopg2

choose

python-psycopg2

mark it for installation using mouse right-click and push 'apply'. Of course, if you don't have installed synaptic, then first do:

sudo apt-get install synaptic

Solution 8 - Python

I ran into this same issues recently and this code worked.

sudo apt-get install libpq-dev python-dev-is-python3

Then

pip3 install psycopg2

Solution 9 - Python

In python 3.4, while in a virtual environment, make sure you have the build dependencies first:

sudo apt-get build-dep python3-psycopg2

Then install it:

pip install psycopg2 

Solution 10 - Python

On Alpine Linux (majority of the docker containers) do:

apk add postgresql-dev

Then:

pip install psycopg2-binary

Solution 11 - Python

pip3 install django-psycopg2-extension

I know i am late and there's lot of answers up here which also solves the problem. But today i also faced this problem and none of this helps me. Then i found the above magical command which solves my problem :-P . so i am posting this as it might be case for you too.
Happy coding.

Solution 12 - Python

I used the extension after only importing psycopg2:

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

Solution 13 - Python

It seems that you need gcc-4.0, and it would be helpful to specify your OS type and version.

Maybe this question will help you a bit: https://stackoverflow.com/questions/4360110/installing-gcc-to-mac-os-x-leopard-without-installing-xcode

Update

I'm a Windows user, so I can't test your setup, but a quick google pointed to some more links:

Solution 14 - Python

I encountered the No module named psycopg2.extensions error when trying to run pip2 install psycopg2 on a Mac running Mavericks (10.9). I don't think my stack trace included a message about gcc, and it also included a hint:

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

I looked for the pg_config file in my Postgres install and added the folder containing it to my path: /Applications/Postgres.app/Contents/Versions/9.4/bin. Your path may be different, especially if you have a different version of Postgres installed - I would just poke around until you find the bin/ folder. After doing this, the installation worked.

Solution 15 - Python

try this:
sudo pip install -i https://testpypi.python.org/pypi psycopg2==2.7b2
.. this is especially helpful if you're running into egg error

on aws ec2 instances if you run into gcc error; try this
1. sudo yum install gcc python-setuptools python-devel postgresql-devel

  1. sudo su -
  2. sudo pip install psycopg2

Solution 16 - Python

This one worked for me

python manage.py migrate

Solution 17 - Python

I had such problem when trying to run python script as a sudo, while psycopg2 was installed via pip3 to my own user's directory.

I managed to resolve the issue for myself removing pip3 version, and just installing it via apt:

pip3 uninstall psycopg2
sudo apt install python3-psycopg2

Solution 18 - Python

you can install gcc for macos from https://github.com/kennethreitz/osx-gcc-installer
after instalation of gcc you'll be able to install psycopg with easy_install or with pip

Solution 19 - Python

Check if you have installed psycopg2 if not

sudo apt-get install psycopg2

Install the dependencies.

sudo apt-get build-dep python-psycopg2

These two commands should solve the problem.

Solution 20 - Python

This error raise because you not install postgres database in you project virtutal environment. you should run one of these command. from a terminal you can you command for sudo.

sudo apt-get install build-dep python-psycopg2

for pip (pip basically work for python)

pip install psycopg2

or

pip3 install psycopg2-binary

i'm pretty sure it will work for you.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJessView Question on Stackoverflow
Solution 1 - PythonFernando MunozView Answer on Stackoverflow
Solution 2 - PythonCharlie 木匠View Answer on Stackoverflow
Solution 3 - PythonAlex JoligView Answer on Stackoverflow
Solution 4 - PythonKankeView Answer on Stackoverflow
Solution 5 - Pythonhassan ketabiView Answer on Stackoverflow
Solution 6 - Pythonuser1667633View Answer on Stackoverflow
Solution 7 - Pythonarunas_tView Answer on Stackoverflow
Solution 8 - PythonSmart DView Answer on Stackoverflow
Solution 9 - PythonJJSanDiegoView Answer on Stackoverflow
Solution 10 - PythonJelena LazarevicView Answer on Stackoverflow
Solution 11 - PythonAbhay KumarView Answer on Stackoverflow
Solution 12 - Pythonf pView Answer on Stackoverflow
Solution 13 - PythonalexandrulView Answer on Stackoverflow
Solution 14 - PythonGalen LongView Answer on Stackoverflow
Solution 15 - Pythonjanakiram pulipatiView Answer on Stackoverflow
Solution 16 - Pythonshree..View Answer on Stackoverflow
Solution 17 - PythonnatalkaView Answer on Stackoverflow
Solution 18 - PythonPonimasView Answer on Stackoverflow
Solution 19 - PythonJayakumar BellieView Answer on Stackoverflow
Solution 20 - PythonGaurav MandhotraView Answer on Stackoverflow