[Django]-Django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No module named psycopg

106πŸ‘

I had the error as well; although psycopg2 was installed on my system using apt-get, my virtualenv couldn’t find it:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2

It was fixed by doing a pip install psycopg2-binary inside the virtualenv (or pip install psycopg2 for <2.8 psycopg2 versions).

πŸ‘€SaeX

35πŸ‘

type pip install psycopg2-binary inside the virtualenv worked for me

πŸ‘€Mohamed Atef

19πŸ‘

I had this problem on a virtualenv in Ubuntu 18.4.
I solved it by installing psycopg2 v2.7.4:

pip install psycopg2==2.7.4
πŸ‘€Heron Rossi

12πŸ‘

Try to use this:

sudo apt-get install python-psycopg2
πŸ‘€Stone

9πŸ‘

On MacOS, psycopgy2 v2.8.4 and its binary isn’t compatible with python 3.8 yet.

Downgrade to python 3.7. All works.

1-Β  On mac (outside venv), Uninstall 3.8 and then install 3.7 using instructions: https://www.youtube.com/watch?v=X2VXCEfIgC0

2- Go to your django project main folder, delete β€˜venv’ folder and β€˜manage.py’

3- Install new venv using python 3.7. command:Β  python3 -m venv ./venv

4- Run venv. Command: source ./venv/bin/activate

5- Install django in this new venv again. Command: pip3 install django
This will create β€˜django-admin’ under ./venv/bin/ and the django libraries.

6- Create manage.py like you would do for a new project again. Command: django-admin startproject <project folder> . (notice the β€˜.’ in end)

The command wont run as previous already exists. So before doing so, rename it to _temp and after running the command which creates a new folder, copy _temp contents to the new . Delete _temp.

7-Run: pip3 install psycopg2

and: pip3 install psycopg2-binary

(If you get an error pg_config executable not found error then run under venv, run following command before installing psycopg again:

export PATH=β€œ/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH)
πŸ‘€ZacSaeed

7πŸ‘

You try to load psycopg, not psycopg2.
Make sure that ENGINE is set to django.db.backends.postgresql_psycopg2 in the settings.py of your project:

'ENGINE': 'django.db.backends.postgresql_psycopg2'

May be problem is: 32bit version of Python cannot load a 64bit version of psycopg2.

πŸ‘€sergzach

6πŸ‘

I was also receiving similar error, it simply means that it is unable to find the β€œpsycopg2” package/module.
I resolved it simply by installing it in my environment using the command:

pip install psycopg2

πŸ‘€Mohit S

4πŸ‘

I hope this command will solve your problem (tested on ubuntu)

pip install psycopg2-binary
πŸ‘€Sohaib Anwaar

3πŸ‘

I had this problem inside a python virtual environment (virtualenv), copying the library into the site-package of the environment from the system site packages solved the problem.

πŸ‘€tjb

3πŸ‘

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: β€˜/usr/local/lib/python3.7/dist-packages/psycopg2’
Consider using the --user option or check the permissions.

if the above error shows then, please try installing with:

pip install psycopg2-binary –user

Then it finally works. There is no need to edit on DATABASE ENGINE.

πŸ‘€N.Neupane

2πŸ‘

python -m pip install psycopg2
πŸ‘€MAY

2πŸ‘

Run the below command in Command Line Prompt

pip install psycopg2

This will install psycopg2 and resolve the issue.

πŸ‘€Ankit Garg

1πŸ‘

I have been suffering from these problems recently. I run the below code in cmd.

python -m pip install "psycopg[binary]"

The problem is solved.

1πŸ‘

I know my reply is coming late but it might still help some people. I ran into this problem a few days ago and tried all the solutions provided here but none worked for me except this:

pip install --upgrade pip           # to upgrade pip
pip install "psycopg[binary,pool]"  # to install package and dependencies

I got the solution from the documentation check it here.

0πŸ‘

First:

pip uninstall psycopg2

Then, load the direct file from http://www.stickpeople.com/projects/python/win-psycopg/

file name : = psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe

As per your requirement, and then copy this downloaded file to env folder and do this:

easy_install psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe(your file name)

This will copy required files.

πŸ‘€Dev Jalla

0πŸ‘

It can happen if you don’t have psycopg2 installed already.

I had this problem with the virtualenv, I simply installed psycopg2 and it is working fine. No need to edit the db configurations.

pip install psycopg2

0πŸ‘

This Problem can be of any reason –

  1. You have downloaded the wrong version of pyscog2 that doesn’t support the current version of the Django.

  2. You might have placed the pyscopg2 in the wrong directory.

  3. You might have downloaded the pyscopg2 without the virtual environment and then activated post-install so it may be showing error.

  4. Bad configuration of the virtual environment in manage.py leads to the error.

  5. See the proper configuration it may be taking pyscopg2 from the root folder rather than the virtual environment.

0πŸ‘

sudo apt-get install python3-psycopg2

Worked on Ubuntu 20.04, python 3.10.4, Django 4.1.

πŸ‘€smeric

Leave a comment