Jess
Jess

Reputation: 1849

Error: No module named psycopg2.extensions

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 Problems setting up a postgreSQL database for a django project. 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?

Upvotes: 124

Views: 259082

Answers (22)

AwesomeVampire
AwesomeVampire

Reputation: 1

Run from Windows cmd: py -m pip install psycopg2

Upvotes: -1

Mansi Shah
Mansi Shah

Reputation: 297

Below commands worked for me on Mac OS

   brew install libpq
   pip install psycopg2-binary

Upvotes: 1

Fernando Munoz
Fernando Munoz

Reputation: 4919

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.

Upvotes: 206

Smart D
Smart D

Reputation: 131

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

Upvotes: 3

Gaurav Mandhotra
Gaurav Mandhotra

Reputation: 11

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.

Upvotes: 0

Abhay Kumar
Abhay Kumar

Reputation: 343

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.

Upvotes: 1

natalka
natalka

Reputation: 51

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

Upvotes: 1

shree..
shree..

Reputation: 13

This one worked for me

python manage.py migrate

Upvotes: 1

Kanke
Kanke

Reputation: 2747

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

Upvotes: 6

Jelena Lazarevic
Jelena Lazarevic

Reputation: 152

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

apk add postgresql-dev

Then:

pip install psycopg2-binary

Upvotes: 2

Charlie 木匠
Charlie 木匠

Reputation: 2380

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.

Upvotes: 44

Ghasem
Ghasem

Reputation: 15563

For Django 2 and python 3 install psycopg2 using pip3 :

pip3 install psycopg2

Upvotes: 10

JJSanDiego
JJSanDiego

Reputation: 791

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 

Upvotes: 2

janakiram pulipati
janakiram pulipati

Reputation: 29

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
2. sudo su -
3. sudo pip install psycopg2

Upvotes: 1

Galen Long
Galen Long

Reputation: 3891

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.

Upvotes: 1

H Ketabi
H Ketabi

Reputation: 3144

I installed it successfully using these commands:

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

Upvotes: 6

arunas_t
arunas_t

Reputation: 1586

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

Upvotes: 4

Jayakumar Bellie
Jayakumar Bellie

Reputation: 9538

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.

Upvotes: 0

alexandrul
alexandrul

Reputation: 13246

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: 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:

Upvotes: 1

user1667633
user1667633

Reputation: 4619

first install apt-get install python-setuptools

then try easy_install psycopg2

Upvotes: 4

Ponimas
Ponimas

Reputation: 166

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

Upvotes: 0

f p
f p

Reputation: 3223

I used the extension after only importing psycopg2:

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

Upvotes: 1

Related Questions